The example programs in Exercise 5.1 dive into some of the features
of the
home interface of an EJB, including
the use of the remove( )
method. They also show you
how to obtain and use various metadata available through an
EJB’s API.
If you already have JBoss running, there is no reason to restart it. Otherwise, start it up as instructed in the JBoss Installation and Configuration chapter at the beginning of this workbook.
The database should contain the 100 rows created by a successful
execution of the test programs from Exercise
4.1.
Perform the following steps:
Open a command prompt or shell terminal and change to the
ex05_1
directory created by the extraction
process.
Set the JAVA_HOME
and
JBOSS_HOME
environment variables to point to where
your JDK and JBoss 4.0 are installed. Examples:
Windows:
C:workbookex05_1> set JAVA_HOME=C:jdk1.4.2 C:workbookex05_1> set JBOSS_HOME=C:jboss-4.0
|
Unix:
$ export JAVA_HOME=/usr/local/jdk1.4.2 $ export JBOSS_HOME=/usr/local/jboss-4.0
|
Add ant
to your execution path.
Windows:
C:workbookex05_1> set PATH=..antin;%PATH%
|
Unix:
$ export PATH=../ant/bin:$PATH
|
Perform the build by typing ant
.
As in the last exercise, you will see titan.jar
rebuilt, copied to the JBoss deploy
directory,
and redeployed by the application server.
There are no new JBoss configuration files or components in this exercise.
Two example programs illustrate the concepts explained in the EJB book:
The example code for Client_51a
and
Client_51b
is pulled directly from the EJB book.
There is no need to go into this code here because the EJB book
already does a very good job of that.
Run Client_51a
by invoking ant run.client_51a
at the command prompt. Remember to set your
JBOSS_HOME
and PATH
environment
variables. Run Client_51b
the same way:
ant
run.client_51b
. The output
of Client_51a
should be exactly as described in
the EJB book. The output of Client_51b is as
follows:
C:workbookex05_1>ant run.client_51b Buildfile: build.xml prepare: compile: run.client_51b: [java] com.titan.cabin.CabinHomeRemote [java] com.titan.cabin.CabinRemote [java] java.lang.Integer [java] false [java] Master Suite
Note that if you try to run Client_51a
more than
once, an exception will tell you that the entity
you’re attempting to remove does not exist.
[java] java.rmi.NoSuchObjectException: Entity not found: primaryKey=30