Class DataSourceXAConnectionFactory

  • All Implemented Interfaces:
    ConnectionFactory, XAConnectionFactory

    public class DataSourceXAConnectionFactory
    extends java.lang.Object
    implements XAConnectionFactory
    An implementation of XAConnectionFactory which uses a real XADataSource to obtain connections and XAResources.
    Since:
    2.0
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      java.sql.Connection createConnection()
      Create a new Connection in an implementation specific fashion.
      TransactionRegistry getTransactionRegistry()
      Gets the TransactionRegistry for this connection factory which contains a the XAResource for every connection created by this factory.
      java.lang.String getUsername()
      Deprecated.
      java.lang.String getUserName()
      Gets the user name used to authenticate new connections.
      char[] getUserPassword()
      Gets the user password.
      javax.sql.XADataSource getXaDataSource()
      Gets the XA data source.
      void setPassword​(char[] userPassword)
      Sets the password used to authenticate new connections.
      void setPassword​(java.lang.String userPassword)
      Sets the password used to authenticate new connections.
      void setUsername​(java.lang.String userName)
      Sets the user name used to authenticate new connections.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DataSourceXAConnectionFactory

        public DataSourceXAConnectionFactory​(TransactionManager transactionManager,
                                             javax.sql.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
        Since:
        2.6.0
      • DataSourceXAConnectionFactory

        public DataSourceXAConnectionFactory​(TransactionManager transactionManager,
                                             javax.sql.XADataSource xaDataSource,
                                             java.lang.String userName,
                                             char[] userPassword)
        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 user name used for authenticating new connections or null for unauthenticated
        userPassword - the password used for authenticating new connections
      • DataSourceXAConnectionFactory

        public DataSourceXAConnectionFactory​(TransactionManager transactionManager,
                                             javax.sql.XADataSource xaDataSource,
                                             java.lang.String userName,
                                             char[] userPassword,
                                             TransactionSynchronizationRegistry transactionSynchronizationRegistry)
        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 user name used for authenticating new connections or null for unauthenticated
        userPassword - the password used for authenticating new connections
        transactionSynchronizationRegistry - register with this TransactionSynchronizationRegistry
        Since:
        2.6.0
      • DataSourceXAConnectionFactory

        public DataSourceXAConnectionFactory​(TransactionManager transactionManager,
                                             javax.sql.XADataSource xaDataSource,
                                             java.lang.String userName,
                                             java.lang.String userPassword)
        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 user name used for authenticating new connections or null for unauthenticated
        userPassword - the password used for authenticating new connections
      • DataSourceXAConnectionFactory

        public DataSourceXAConnectionFactory​(TransactionManager transactionManager,
                                             javax.sql.XADataSource xaDataSource,
                                             TransactionSynchronizationRegistry transactionSynchronizationRegistry)
        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
        transactionSynchronizationRegistry - register with this TransactionSynchronizationRegistry
    • Method Detail

      • createConnection

        public java.sql.Connection createConnection()
                                             throws java.sql.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:
        java.sql.SQLException - if a database error occurs creating the connection
      • 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
      • getUsername

        @Deprecated
        public java.lang.String getUsername()
        Deprecated.
        Gets the user name used to authenticate new connections.
        Returns:
        the user name or null if unauthenticated connections are used
      • getUserName

        public java.lang.String getUserName()
        Gets the user name used to authenticate new connections.
        Returns:
        the user name or null if unauthenticated connections are used
        Since:
        2.6.0
      • getUserPassword

        public char[] getUserPassword()
        Gets the user password.
        Returns:
        the user password.
      • getXaDataSource

        public javax.sql.XADataSource getXaDataSource()
        Gets the XA data source.
        Returns:
        the XA data source.
      • setPassword

        public void setPassword​(char[] userPassword)
        Sets the password used to authenticate new connections.
        Parameters:
        userPassword - the password used for authenticating the connection or null for unauthenticated.
        Since:
        2.4.0
      • setPassword

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

        public void setUsername​(java.lang.String userName)
        Sets the user name used to authenticate new connections.
        Parameters:
        userName - the user name used for authenticating the connection or null for unauthenticated