An Enterprise JavaBeans (EJB) module is used to assemble one or more enterprise beans into a single deployable unit. An EJB module is stored in a standard Java archive (JAR) file.
An EJB module contains the following:
It is not necessary to use XML deployment descriptors in EJB 3.x modules, although XML descriptors are supported. Instead of deployment descriptors, you can use annotations to provide component metadata.
You can deploy an EJB module as a stand-alone application, or combine it with other EJB modules or with web modules to create a Java application. An EJB module is installed and run in an enterprise bean container.
If you want to package an EJB 3.x module with a deployment descriptor, there are several ways to do it. You can package an EJB 3.x module with an EJB 3.x style session and/or message-driven beans exclusively; with an EJB 2.1 style session and/or message-driven beans exclusively, or a combination of 2.1 and 3.x style beans. The XML deployment descriptor must be a Version 3.x deployment descriptor. It is required that 2.1 entity beans are packaged in modules with 2.1 deployment descriptors.
EJB modules that contain EJB 3.x beans must be at the EJB 3.x specification level when running on the product. To set the EJB module to support EJB 3.x beans, you can set the ejb-jar.xml deployment descriptor level to 3.0 or 3.1, or you can make sure that the module does not contain an ejb-jar.xml deployment descriptor. If the module level is EJB 2.1 or earlier, no EJB 3.x functions, including annotation scanning or resource injection is performed at run time.
For more information about packaging and deployment of EJB 3.x beans, see the topic EJB 3.x module packaging overview.
EJB method invocations throw com.ibm.websphere.ejbcontainer.EJBStoppedException when the target EJB application has been stopped. If you have cached the EJB reference in an instance variable by using either @EJB injection or JNDI lookup, then you can catch this exception and refresh the EJB reference by performing a non-cached lookup.