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.
    Version:
    $Revision$
    Author:
    Dain Sundstrom
    • Constructor Detail

      • LocalXAConnectionFactory

        public LocalXAConnectionFactory​(javax.transaction.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
    • Method Detail

      • 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 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