JBoss.org Community Documentation
The most important role performed by the EJBDeployer
is the creation of an EJB container and the deployment of the EJB into the container. The deployment phase consists of iterating over EJBs in an EJB JAR, and extracting the bean classes and their metadata as described by the ejb-jar.xml
and jboss.xml
deployment descriptors. For each EJB in the EJB JAR, the following steps are performed:
Create subclass of org.jboss.ejb.Container
depending on the type of the EJB: stateless, stateful, BMP entity, CMP entity, or message driven. The container is assigned a unique ClassLoader
from which it can load local resources. The uniqueness of the ClassLoader
is also used to isolate the standard java:comp
JNDI namespace from other J2EE components.
Set all container configurable attributes from a merge of the jboss.xml
and standardjboss.xml
descriptors.
Create and add the container interceptors as configured for the container.
Associate the container with an application object. This application object represents a J2EE enterprise application and may contain multiple EJBs and web contexts.
If all EJBs are successfully deployed, the application is started which in turn starts all containers and makes the EJBs available to clients. If any EJB fails to deploy, a deployment exception is thrown and the deployment module is failed.