Package org.apache.commons.dbcp.managed
Class LocalXAConnectionFactory
- java.lang.Object
-
- org.apache.commons.dbcp.managed.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
LocalXAConnectionFactory.LocalXAResource
LocalXAResource is a fake XAResource for non-XA connections.
-
Field Summary
Fields Modifier and Type Field Description protected ConnectionFactory
connectionFactory
protected TransactionRegistry
transactionRegistry
-
Constructor Summary
Constructors Constructor Description LocalXAConnectionFactory(javax.transaction.TransactionManager transactionManager, ConnectionFactory connectionFactory)
Creates an LocalXAConnectionFactory which uses the specified connection factory to create database connections.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.sql.Connection
createConnection()
Create a newConnection
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.
-
-
-
Field Detail
-
transactionRegistry
protected TransactionRegistry transactionRegistry
-
connectionFactory
protected ConnectionFactory connectionFactory
-
-
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 enlistedconnectionFactory
- 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 interfaceXAConnectionFactory
- 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 newConnection
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 interfaceConnectionFactory
- Specified by:
createConnection
in interfaceXAConnectionFactory
- Returns:
- a new
Connection
- Throws:
java.sql.SQLException
- if a database error occurs creating the connection
-
-