+

Search Tips   |   Advanced Search

 

EJB containers

 

An EJB container provides a run-time environment for enterprise beans within the appserver. The container handles all aspects of an enterprise bean's operation within the appserver and acts as an intermediary between the user-written business logic within the bean and the rest of the appserver environment.

One or more EJB modules, each containing one or more enterprise beans, can be installed in a single container. The EJB container provides many services to the enterprise bean, including the following:

By dynamically maintaining a set of active bean instances and synchronizing bean state with persistent storage when beans are moved into and out of active state, the container makes it possible for an application to manage many more bean instances than could otherwise simultaneously be held in the appserver's memory. In this respect, an EJB container provides services similar to virtual memory within an operating system. Between transactions, the state of an entity bean can be cached. The EJB container supports option A, B, and C caching.

WAS supports the cloning of stateful session bean home objects among multiple appservers. However, it does not support the cloning of a specific instance of a stateful session bean. Each instance of a particular stateful session bean can exist in just one appserver and can be accessed only by directing requests to that particular appserver. State information for a stateful session bean cannot be maintained across multiple members of a server cluster. However, enabling stateful session bean failover and configuring the EJB container to use memory-to-memory replication does enable stateful session bean failover to be replicated to other servers in the cluster so that failover can occur to the backup server if the primary server for a stateful session bean stops for some reason. For more information about stateful session bean failover, see Stateful session bean failover for the EJB container.

By default, an EJB container runs in the quick start mode. The EJB container startup logic delays the loading and processing of all EJB types except Message Driven Beans (because they must exist before messages are posted for them), Startup Beans (which must be processed at server startup time), and those EJB types specified to initialize at server start. For more information about disabling quick start for EJB types, see Change enterprise bean types to initialize at application start time using the Application Server Toolkit.

All other EJB initialization is delayed until the first use of the EJB type. When using Local Interfaces, the first use is when you perform an InitialContext.lookup() method for the type. For Remote Interfaces, it is when you call the first method on an EJB or its Home.

For more information about EJB containers, see Enterprise beans: Resources for learning.


 

Related concepts


Enterprise beans

 

Related tasks


Manage EJB containers

 

Related Reference


Enterprise beans: Resources for learning