 |
Enterprise Java Beans (EJB) Overview
There are 3 different types of EJB: session, entity, and message-driven beans. Furthermore, session beans come in two flavors: stateless and stateful. |
 |
Client View of a Session Bean
The home interface of a stateless session bean must have only one create() method. This method does not take any arguments. |
 |
Session Bean Component Contract
A stateless session bean does not maintain any conversational state. |
 |
Session Bean Lifecycle
ejbRemove() will not be invoked if
 |
The container crashes; |
 |
A system exception is thrown from the session bean instance to the EJB container; |
 |
The client is inactive during a timeout period and the session bean instance is in the PASSIVE state. |
|
 |
Client View of an Entity
The local or remote home interface of an entity bean must include the findByPrimaryKey() method. |
 |
Component Contract for Container-Managed Persistence (CMP)
Entity beans cannot use bean-managed transaction demarcation (BMT), that is, there are no BMT entity beans. |
 |
CMP Entity Bean Lifecycle
The identity of an entity bean becomes available only when the ejbPostCreate<METHOD>() is called, so an entity instance should not invoke getEJBObject(), getEJBLocalObject(), or getPrimaryKey() when executing the ejbCreate<METHOD>() method. |
 |
Entity Beans
The primary key class for a compound primary key of an entity bean class must be public, all of its member fields must be public, and their names must be a subset of the names of the container-managed fields declared in the deployment descriptor. |
 |
EJB-QL
The keyword AS is optional in the FROM clause of an EJB-QL statement. |
 |
Message-Driven Bean Component Contract
Message-driven beans don't have any client view, that is, they don't have any home or component interfaces. |
 |
Transactions
The only valid transaction attributes for message-driven beans are Required and NotSupported. |
 |
Exceptions
When an application exception is thrown (only from session or entity bean classes), the current transaction (if any) is not automatically rolled back. |
 |
Enterprise Bean Environment
The Deployer must ensure that all <env-entry-value> elements in the deployment descriptor contain appropriate data. |
 |
Security Management
The <use-caller-identity> element in the deployment descriptor cannot be used with message-driven beans. |