Class LocalXAConnectionFactory

  • All Implemented Interfaces:
    ConnectionFactory, XAConnectionFactory

    public class LocalXAConnectionFactory
    extends java.lang.Object
    implements XAConnectionFactory
    An implementation of XAConnectionFactory which manages non-XA connections in XA transactions. A non-XA connection commits and rolls back as part of the XA transaction, but is not recoverable since the connection does not implement the 2-phase protocol.
    Since:
    2.0
    • Constructor Detail

      • LocalXAConnectionFactory

        public LocalXAConnectionFactory​(TransactionManager transactionManager,
                                        ConnectionFactory connectionFactory)
        Creates an LocalXAConnectionFactory which uses the specified connection factory 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
        connectionFactory - the connection factory from which connections will be retrieved
      • LocalXAConnectionFactory

        public LocalXAConnectionFactory​(TransactionManager transactionManager,
                                        TransactionSynchronizationRegistry transactionSynchronizationRegistry,
                                        ConnectionFactory connectionFactory)
        Creates an LocalXAConnectionFactory which uses the specified connection factory 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
        transactionSynchronizationRegistry - the optional TSR to register synchronizations with
        connectionFactory - the connection factory from which connections will be retrieved
        Since:
        2.8.0
    • 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
      • getConnectionFactory

        public ConnectionFactory getConnectionFactory()
        Returns:
        The connection factory.
        Since:
        2.6.0
      • 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