Interface XAConnectionFactory

All Superinterfaces:
ConnectionFactory
All Known Implementing Classes:
DataSourceXAConnectionFactory, LocalXAConnectionFactory

public interface XAConnectionFactory extends ConnectionFactory
XAConnectionFactory is an extension of ConnectionFactory used to create connections in a transaction managed environment. The XAConnectionFactory operates like a normal ConnectionFactory except a TransactionRegistry is provided from which the XAResource for a connection can be obtained. This allows the existing DBCP pool code to work with XAConnections and gives the ManagedConnection a way to enlist a connection in the transaction.
Since:
2.0
  • Method Details

    • createConnection

      Connection createConnection() throws SQLException
      Create a new Connection in an implementation specific fashion.

      An implementation can assume that the caller of this will wrap the connection in a proxy that protects access to the setAutoCommit, commit and rollback when enrolled in a XA transaction.

      Specified by:
      createConnection in interface ConnectionFactory
      Returns:
      a new Connection
      Throws:
      SQLException - if a database error occurs creating the connection
    • getTransactionRegistry

      TransactionRegistry getTransactionRegistry()
      Gets the TransactionRegistry for this connection factory which contains the XAResource for every connection created by this factory.
      Returns:
      the transaction registry for this connection factory