org.apache.commons.dbcp.managed
Class TransactionRegistry

java.lang.Object
  extended by org.apache.commons.dbcp.managed.TransactionRegistry

public class TransactionRegistry
extends Object

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.

Version:
$Revision$
Author:
Dain Sundstrom

Constructor Summary
TransactionRegistry(TransactionManager transactionManager)
          Creates a TransactionRegistry for the specified transaction manager.
 
Method Summary
 TransactionContext getActiveTransactionContext()
          Gets the active TransactionContext or null if not Transaction is active.
 XAResource getXAResource(Connection connection)
          Gets the XAResource registered for the connection.
 void registerConnection(Connection connection, XAResource xaResource)
          Registers the association between a Connection and a XAResource.
 void unregisterConnection(Connection connection)
          Unregisters a destroyed connection from TransactionRegistry
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransactionRegistry

public TransactionRegistry(TransactionManager transactionManager)
Creates a TransactionRegistry for the specified transaction manager.

Parameters:
transactionManager - the transaction manager used to enlist connections
Method Detail

registerConnection

public void registerConnection(Connection connection,
                               XAResource xaResource)
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

getXAResource

public XAResource getXAResource(Connection connection)
                         throws SQLException
Gets the XAResource registered for the connection.

Parameters:
connection - the connection
Returns:
the XAResource registered for the connection; never null
Throws:
SQLException - if the connection does not have a registered XAResource

getActiveTransactionContext

public TransactionContext getActiveTransactionContext()
                                               throws SQLException
Gets the active TransactionContext or null if not Transaction is active.

Returns:
the active TransactionContext or null if not Transaction is active
Throws:
SQLException - if an error occurs while fetching the transaction

unregisterConnection

public void unregisterConnection(Connection connection)
Unregisters a destroyed connection from TransactionRegistry

Parameters:
connection -


Copyright © 2001-2010 The Apache Software Foundation. All Rights Reserved.