org.apache.commons.dbcp.managed
Class TransactionContext

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

public class TransactionContext
extends Object

TransactionContext represents the association between a single XAConnectionFactory and a Transaction. This context contains a single shared connection which should be used by all ManagedConnections for the XAConnectionFactory, the ability to listen for the transaction completion event, and a method to check the status of the transaction.

Version:
$Revision$
Author:
Dain Sundstrom

Constructor Summary
TransactionContext(TransactionRegistry transactionRegistry, Transaction transaction)
          Creates a TransactionContext for the specified Transaction and TransactionRegistry.
 
Method Summary
 void addTransactionContextListener(TransactionContextListener listener)
          Adds a listener for transaction completion events.
 Connection getSharedConnection()
          Gets the connection shared by all ManagedConnections in the transaction.
 boolean isActive()
          True if the transaction is active or marked for rollback only.
 void setSharedConnection(Connection sharedConnection)
          Sets the shared connection for this transaction.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransactionContext

public TransactionContext(TransactionRegistry transactionRegistry,
                          Transaction transaction)
Creates a TransactionContext for the specified Transaction and TransactionRegistry. The TransactionRegistry is used to obtain the XAResource for the shared connection when it is enlisted in the transaction.

Parameters:
transactionRegistry - the TransactionRegistry used to obtain the XAResource for the shared connection
transaction - the transaction
Method Detail

getSharedConnection

public Connection getSharedConnection()
Gets the connection shared by all ManagedConnections in the transaction. Specifically, connection using the same XAConnectionFactory from which the TransactionRegistry was obtained.

Returns:
the shared connection for this transaction

setSharedConnection

public void setSharedConnection(Connection sharedConnection)
                         throws SQLException
Sets the shared connection for this transaction. The shared connection is enlisted in the transaction.

Parameters:
sharedConnection - the shared connection
Throws:
SQLException - if a shared connection is already set, if XAResource for the connection could not be found in the transaction registry, or if there was a problem enlisting the connection in the transaction

addTransactionContextListener

public void addTransactionContextListener(TransactionContextListener listener)
                                   throws SQLException
Adds a listener for transaction completion events.

Parameters:
listener - the listener to add
Throws:
SQLException - if a problem occurs adding the listener to the transaction

isActive

public boolean isActive()
                 throws SQLException
True if the transaction is active or marked for rollback only.

Returns:
true if the transaction is active or marked for rollback only; false otherwise
Throws:
SQLException - if a problem occurs obtaining the transaction status


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