Class DataSourceXAConnectionFactory
- java.lang.Object
-
- org.apache.tomcat.dbcp.dbcp2.managed.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
-
-
Constructor Summary
Constructors Constructor Description DataSourceXAConnectionFactory(TransactionManager transactionManager, javax.sql.XADataSource xaDataSource)
Creates an DataSourceXAConnectionFactory which uses the specified XADataSource to create database connections.DataSourceXAConnectionFactory(TransactionManager transactionManager, javax.sql.XADataSource xaDataSource, TransactionSynchronizationRegistry transactionSynchronizationRegistry)
Creates an DataSourceXAConnectionFactory which uses the specified XADataSource to create database connections.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.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.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.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated 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.java.lang.String
getUsername()
Deprecated.UsegetUserName()
.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.
-
-
-
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 enlistedxaDataSource
- 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 enlistedxaDataSource
- the data source from which connections will be retrieveduserName
- the user name used for authenticating new connections or null for unauthenticateduserPassword
- 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 enlistedxaDataSource
- the data source from which connections will be retrieveduserName
- the user name used for authenticating new connections or null for unauthenticateduserPassword
- the password used for authenticating new connectionstransactionSynchronizationRegistry
- 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 enlistedxaDataSource
- the data source from which connections will be retrieveduserName
- the user name used for authenticating new connections or null for unauthenticateduserPassword
- 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 enlistedxaDataSource
- the data source from which connections will be retrievedtransactionSynchronizationRegistry
- register with this TransactionSynchronizationRegistry
-
-
Method Detail
-
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
-
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
-
getUsername
@Deprecated public java.lang.String getUsername()
Deprecated.UsegetUserName()
.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
-
-