Package org.apache.commons.dbcp2.managed
Class TransactionRegistry
java.lang.Object
org.apache.commons.dbcp2.managed.TransactionRegistry
TransactionRegistry tracks Connections and XAResources in a transacted environment for a single XAConnectionFactory.
The TransactionRegistry hides the details of transaction processing from the existing DBCP pooling code, and gives the ManagedConnection a way to enlist connections in a transaction, allowing for the maximal rescue of DBCP.
- Since:
- 2.0
-
Constructor Summary
ConstructorsConstructorDescriptionTransactionRegistry(TransactionManager transactionManager) Provided for backwards compatibilityTransactionRegistry(TransactionManager transactionManager, TransactionSynchronizationRegistry transactionSynchronizationRegistry) Creates a TransactionRegistry for the specified transaction manager. -
Method Summary
Modifier and TypeMethodDescriptionGets the active TransactionContext or null if not Transaction is active.getXAResource(Connection connection) Gets the XAResource registered for the connection.voidregisterConnection(Connection connection, XAResource xaResource) Registers the association between a Connection and a XAResource.voidunregisterConnection(Connection connection) Unregisters a destroyed connection fromTransactionRegistry.
-
Constructor Details
-
TransactionRegistry
Provided for backwards compatibility- Parameters:
transactionManager- the transaction manager used to enlist connections
-
TransactionRegistry
public TransactionRegistry(TransactionManager transactionManager, TransactionSynchronizationRegistry transactionSynchronizationRegistry) Creates a TransactionRegistry for the specified transaction manager.- Parameters:
transactionManager- the transaction manager used to enlist connections.transactionSynchronizationRegistry- The optional TSR to register synchronizations with- Since:
- 2.6.0
-
-
Method Details
-
getActiveTransactionContext
Gets the active TransactionContext or null if not Transaction is active.- Returns:
- The active TransactionContext or null if no Transaction is active.
- Throws:
SQLException- Thrown when an error occurs while fetching the transaction.
-
getXAResource
Gets the XAResource registered for the connection.- Parameters:
connection- the connection- Returns:
- The XAResource registered for the connection; never null.
- Throws:
SQLException- Thrown when the connection does not have a registered XAResource.
-
registerConnection
Registers the association between a Connection and a XAResource. When a connection is enlisted in a transaction, it is actually the XAResource that is given to the transaction manager.- Parameters:
connection- The JDBC connection.xaResource- The XAResource which managed the connection within a transaction.
-
unregisterConnection
Unregisters a destroyed connection fromTransactionRegistry.- Parameters:
connection- A destroyed connection fromTransactionRegistry.
-