Class DataSourceXAConnectionFactory
- java.lang.Object
-
- org.apache.tomcat.dbcp.dbcp2.managed.DataSourceXAConnectionFactory
-
- All Implemented Interfaces:
ConnectionFactory,XAConnectionFactory
public class DataSourceXAConnectionFactory extends 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(jakarta.transaction.TransactionManager transactionManager, XADataSource xaDataSource)Creates an DataSourceXAConnectionFactory which uses the specified XADataSource to create database connections.DataSourceXAConnectionFactory(jakarta.transaction.TransactionManager transactionManager, XADataSource xaDataSource, jakarta.transaction.TransactionSynchronizationRegistry transactionSynchronizationRegistry)Creates an DataSourceXAConnectionFactory which uses the specified XADataSource to create database connections.DataSourceXAConnectionFactory(jakarta.transaction.TransactionManager transactionManager, XADataSource xaDataSource, String userName, char[] userPassword)Creates an DataSourceXAConnectionFactory which uses the specified XADataSource to create database connections.DataSourceXAConnectionFactory(jakarta.transaction.TransactionManager transactionManager, XADataSource xaDataSource, String userName, char[] userPassword, jakarta.transaction.TransactionSynchronizationRegistry transactionSynchronizationRegistry)Creates an DataSourceXAConnectionFactory which uses the specified XADataSource to create database connections.DataSourceXAConnectionFactory(jakarta.transaction.TransactionManager transactionManager, XADataSource xaDataSource, String userName, 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 ConnectioncreateConnection()Create a newConnectionin an implementation specific fashion.TransactionRegistrygetTransactionRegistry()Gets the TransactionRegistry for this connection factory which contains a the XAResource for every connection created by this factory.StringgetUsername()Deprecated.UsegetUserName().StringgetUserName()Gets the user name used to authenticate new connections.char[]getUserPassword()Gets the user password.XADataSourcegetXaDataSource()Gets the XA data source.voidsetPassword(char[] userPassword)Sets the password used to authenticate new connections.voidsetPassword(String userPassword)Sets the password used to authenticate new connections.voidsetUsername(String userName)Sets the user name used to authenticate new connections.
-
-
-
Constructor Detail
-
DataSourceXAConnectionFactory
public DataSourceXAConnectionFactory(jakarta.transaction.TransactionManager transactionManager, 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(jakarta.transaction.TransactionManager transactionManager, XADataSource xaDataSource, 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(jakarta.transaction.TransactionManager transactionManager, XADataSource xaDataSource, String userName, char[] userPassword, jakarta.transaction.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(jakarta.transaction.TransactionManager transactionManager, XADataSource xaDataSource, String userName, 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(jakarta.transaction.TransactionManager transactionManager, XADataSource xaDataSource, jakarta.transaction.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 Connection createConnection() throws SQLException
Description copied from interface:XAConnectionFactoryCreate a newConnectionin 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:
createConnectionin interfaceConnectionFactory- Specified by:
createConnectionin interfaceXAConnectionFactory- Returns:
- a new
Connection - Throws:
SQLException- if a database error occurs creating the connection
-
getTransactionRegistry
public TransactionRegistry getTransactionRegistry()
Description copied from interface:XAConnectionFactoryGets the TransactionRegistry for this connection factory which contains a the XAResource for every connection created by this factory.- Specified by:
getTransactionRegistryin interfaceXAConnectionFactory- Returns:
- the transaction registry for this connection factory
-
getUsername
@Deprecated public 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 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 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(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(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
-
-