Configuring Entity Beans
The life cycle of an entity bean is a
hybrid of the life cycles of a stateless and a stateful session bean.
WebLogic maintains a free pool of inactive
entity EJB instances. Just like stateless session beans, you can set
the initial and the maximum sizes for the EJB pool. If you do specify
a value for the initial-beans-in-free-pool
setting, WebLogic prepares the pool of EJB instances with this
initial capacity when the server starts up. Each EJB instance is
created using the newInstance( )
method, and the
setEntityContext( )
method is invoked once
it’s added to the pool. At this point, each EJB
instance has a reference to the EntityContext
,
which provides the entity EJB with access to various
container-managed services. When an EJB instance is removed from the
pool, the container invokes the unsetEntityContext(
)
method. In general, an entity EJB instance will remain in
this pooled state as long as clients continue to invoke methods on
the home object, or when the EJB container invokes one of the query
methods on the entity bean.
Just like stateful session beans, WebLogic also maintains a cache of
active entity EJB instances. The
max-beans-in-cache
element in the
weblogic-ejb-jar.xml descriptor determines the
maximum size of the entity cache. When a client invokes a
create( )
method on the entity bean, the EJB
container dips into the free pool and automatically invokes the
ejbCreate( )
method on the EJB instance obtained from the pool, before placing it ...
Get WebLogic: The Definitive Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.