EJBs and Transactions
WebLogic’s EJB container supports EJBs that can participate in distributed transactions. EJBs deployed to WebLogic Server can be involved in JTA transactions that may cover updates to multiple data stores. A single transaction can span multiple EJBs deployed to multiple WebLogic instances. The EJBs also can participate in the two-phase commit protocol, which coordinates transactional updates across two or more resource managers.
For entity beans, it is the EJB container that always manages the
transaction boundaries. Session and message-driven beans support both
bean-managed and container-managed transactions. In the case of
bean-managed transactions, the EJB implementation must explicitly
supervise the transaction boundaries. Typically, the EJB code will
acquire a reference to the UserTransaction
object
from the EJBContext
, and then make explicit calls
to the begin
, commit
, and
rollback
methods to mark the start and completion
of the transaction. For container-managed beans, the EJB container
manages all transaction boundaries. You can specify the transaction
attributes for the EJB methods in the
ejb-jar.xml descriptor file for the EJB
component. The default transaction setting for an EJB method is
Supports
. In other words, all EJB methods are
capable of participating in a transaction, if one exists. Of course,
you must not use the
UserTransaction
interface within an EJB method
that supports container-managed transactions.
Distributed transactions
A client ...
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.