WebLogic supports two flavors of EJB transactions:
Here, the EJB container manages the transaction boundaries. The standard ejb-jar.xml deployment descriptor contains transaction attributes that determine how the EJB container handles transactions across method invocations.
Here, the EJB implementation is responsible for demarcating
transaction boundaries. The bean provider typically uses the
transaction methods on the
Connection object or
UserTransaction object to ensure all updates
transaction-type element in the standard
ejb-jar.xml descriptor file indicates whether
the EJB will manage its own transaction boundaries, or defer all
transaction management responsibilities to the EJB container. Both
models have their benefits and limitations, and both impose certain
restrictions on your EJB code.
Container-managed transactions simplify your EJB code because you no longer need to explicitly mark transaction boundaries. You can configure your EJBs so that WebLogic’s EJB container automatically creates a new transaction context before delegating the call to the actual EJB method, and commits the transaction just before the method exits. The EJB container rolls back the transaction if a system exception is raised or if the method indicates a rollback should occur. Alternatively, you can indicate that an EJB method must never be executed within a transaction ...