When you deploy an Enterprise JavaBeans (EJB) module, you install that
module on a server that has been configured to support deployed modules.
Before you begin
Assemble one or more EJB modules, assemble one or more
Web modules, and assemble them into a Java EE
application.
For an overview about the changes to the EJB deployment
model for EJB 3.0, see the topic EJB 3.0 deployment overview.
Procedure
- Prepare the deployment environment. See the
topic Preparing to host applications.
- Update the configuration for each EJB module as needed
for the deployment environment.
- Required: If a module has dependencies on Java 5-specific extensions, such
as generics, annotations, and so on, then you must run the EJBDeplolycommand-line
tool separately and prior to installing the module or application
containing it. This is because the administrative console and the
wsadmin command-line tool do not allow for specifying the ejbdeploy
-complianceLevel 5.0 option.
It is only necessary to
run the EJBDeploy tool for EJB 2.1 modules containing entity beans.
- Address potential
interoperability issues.
There can be unexpected results
if a WebSphere® stack product,
or another product, that runs on a version of Application Server that
does not support EJB 3.0 attempts to remotely invoke a method on an
EJB 3.0 compliant enterprise bean on a separate server that is running
a version Application Server that supports EJB 3.0. If these products
attempt to invoke a method through the enterprise bean's EJB 3.0 remote
business interface, they might encounter exceptions that were introduced
in EJB 3.0 that will be pushed back to the environment that is not
EJB 3.0 compliant.
This scenario could also be an issue for
an administrator of an environment that includes a combination of
stack products that contain a mixture of EJB 3.0 compliant and non-compliant
instances of Application Server.
The following is a list of
the exception classes that have been introduced in EJB 3.0:
- javax.ejb.ConcurrentAccessException
- javax.ejb.EJBAccessException
- javax.ejb.EJBTransactionRequiredException
- javax.ejb.EJBTransactionRolledbackException
- javax.ejb.NoSuchEJBException
- Ensure that Application Server is updated to 7.0.0.3.
- Manually copy the <app_server_root>/runtimes/ejb3exceptions.jar
file from Application Server to a directory on each of the stack products
installations, or other product installations, that you will use as
the EJB 3.0 client.
- Ensure that the directory that contains the ejb3exceptions.jar
file is in the class path. One possible location for the
JAR file that would satisfy this requirement is the <app_server_root>/lib
directory on a server that is not EJB 3.0 compliant.
Avoid trouble: Just like the EJB thin client jars, if an update
becomes available, users will need to copy the ejb3exceptions.jar
file again after installing the version of the WebSphere Application Server containing
the updated version.
gotcha
- Deploy the application. See the topic Deploying
and administering enterprise applications.
What to do next
If you specify that the EJBDeploy tool be run during application
installation and the installation fails with a NameNotFoundException
message, ensure that the input Java archive
(JAR) or enterprise archive (EAR) file does not contain source files.
Either remove the source files or include all dependent classes and
resource files on the class path. If there are source files in the
input JAR or EAR file, the EJB deployment tools runs a rebuild before
generating the deployment code.
If the module deploys successfully,
test and debug the module. See the topic Diagnosing problems (using
diagnosis tools).