+

Search Tips   |   Advanced Search

Deploy EJB modules

When you deploy an EJB module, you install that module on a server that has been configured to support deployed modules.

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.x, see the topic EJB 3.x deployment overview.

  1. Prepare the deployment environment. See the topic Preparing to host applications.

  2. Update the configuration for each EJB module as needed for the deployment environment.

  3. 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 before installing the module or application containing it. This is because the console and wsadmin-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.

  4. 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.x attempts to remotely invoke a method on an EJB 3.x compliant enterprise bean on a separate server running a version Application Server that supports EJB 3.x. If these products attempt to invoke a method through the enterprise bean's EJB 3.x remote business interface, they might encounter exceptions that were introduced in EJB 3.x that will be pushed back to the environment that is not EJB 3.x compliant.

    This scenario could also be an issue for an administrator of an environment that includes a combination of stack products containing a mixture of EJB 3.x 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

    1. Ensure that Application Server is updated to 7.0.0.3.

    2. 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.x client.

    3. Ensure that the directory containing 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.x compliant.

      Avoid trouble: Just like the EJB thin client jars, if an update becomes available, users must copy the ejb3exceptions.jar file again after installing the version of the WAS containing the updated version.gotcha

  5. Deploy the application. See the topic Deploying and administering enterprise applications.


What to do next

If we specify that the EJBDeploy tool be run during application installation and the installation fails with a NameNotFoundException message, ensure that the input JAR or 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).


Subtopics


Related concepts

  • EJB 3.x module packaging overview
  • EJB modules


    Related tasks

  • Assembling web applications
  • Assembling EJB modules
  • Assembling applications
  • Diagnosing problems (using diagnosis tools)
  • Preparing to host applications
  • Deploy
  • Install enterprise application files

  • EJB module settings