Class DataSourceXAConnectionFactory

java.lang.Object
org.apache.commons.dbcp2.managed.DataSourceXAConnectionFactory
All Implemented Interfaces:
ConnectionFactory, XAConnectionFactory

public class DataSourceXAConnectionFactory extends Object implements XAConnectionFactory
An implementation of XAConnectionFactory which uses a real XADataSource to obtain connections and XAResources.
Since:
2.0
Version:
$Id: DataSourceXAConnectionFactory.java 1649430 2015-01-04 21:29:32Z tn $
Author:
Dain Sundstrom
  • Constructor Details

    • DataSourceXAConnectionFactory

      public DataSourceXAConnectionFactory(javax.transaction.TransactionManager transactionManager, XADataSource xaDataSource)
      Creates an DataSourceXAConnectionFactory which uses the specified XADataSource to create database connections. The connections are enlisted into transactions using the specified transaction manager.
      Parameters:
      transactionManager - the transaction manager in which connections will be enlisted
      xaDataSource - the data source from which connections will be retrieved
    • DataSourceXAConnectionFactory

      public DataSourceXAConnectionFactory(javax.transaction.TransactionManager transactionManager, XADataSource xaDataSource, String username, String password)
      Creates an DataSourceXAConnectionFactory which uses the specified XADataSource to create database connections. The connections are enlisted into transactions using the specified transaction manager.
      Parameters:
      transactionManager - the transaction manager in which connections will be enlisted
      xaDataSource - the data source from which connections will be retrieved
      username - the username used for authenticating new connections or null for unauthenticated
      password - the password used for authenticating new connections
  • Method Details

    • getUsername

      public String getUsername()
      Gets the username used to authenticate new connections.
      Returns:
      the user name or null if unauthenticated connections are used
    • setUsername

      public void setUsername(String username)
      Sets the username used to authenticate new connections.
      Parameters:
      username - the username used for authenticating the connection or null for unauthenticated
    • setPassword

      public void setPassword(String password)
      Sets the password used to authenticate new connections.
      Parameters:
      password - the password used for authenticating the connection or null for unauthenticated
    • getTransactionRegistry

      public TransactionRegistry getTransactionRegistry()
      Description copied from interface: XAConnectionFactory
      Gets the TransactionRegistry for this connection factory which contains a the XAResource for every connection created by this factory.
      Specified by:
      getTransactionRegistry in interface XAConnectionFactory
      Returns:
      the transaction registry for this connection factory
    • createConnection

      public Connection createConnection() throws SQLException
      Description copied from interface: XAConnectionFactory
      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
      Specified by:
      createConnection in interface XAConnectionFactory
      Returns:
      a new Connection
      Throws:
      SQLException - if a database error occurs creating the connection