Class SQLServerXADataSource
- java.lang.Object
-
- com.microsoft.sqlserver.jdbc.SQLServerDataSource
-
- com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolDataSource
-
- com.microsoft.sqlserver.jdbc.SQLServerXADataSource
-
- All Implemented Interfaces:
ISQLServerDataSource
,Serializable
,Wrapper
,Referenceable
,CommonDataSource
,ConnectionPoolDataSource
,DataSource
,XADataSource
public final class SQLServerXADataSource extends SQLServerConnectionPoolDataSource implements XADataSource
Provides database connections for use in distributed (XA) transactions. SQLServerXADataSource also supports connection pooling of physical connections. The XADataSource and XAConnection interfaces, which are defined in the package javax.sql, are implemented by sqlserver. An XAConnection object is a pooled connection that can participate in a distributed transaction. More precisely, XAConnection extends the PooledConnection interface by adding the method getXAResource. This method produces an XAResource object that can be used by a transaction manager to coordinate the work done on this connection with the other participants in the distributed transaction.Because they extend the PooledConnection interface, XAConnection objects support all the methods of PooledConnection objects. They are reusable physical connections to an underlying data source and produce logical connection handles that can be passed back to a JDBC application.
XAConnection objects are produced by an XADataSource object. There is some similarity between ConnectionPoolDataSource objects and XADataSource objects in that they are both implemented below a DataSource layer that is visible to the JDBC application. This architecture allows sqlserver to support distributed transactions in a way that is transparent to the application.
SQLServerXADataSource can be configured to integrate with Microsoft Distributed Transaction Coordinator (DTC) to provide true, distributed transaction processing.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SQLServerXADataSource()
default constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Reference
getReference()
XAConnection
getXAConnection()
Returns a physical database connection to particate in an XA transaction.XAConnection
getXAConnection(String user, String password)
Returns a physical database connection to particate in an XA transaction with the specified user and password.-
Methods inherited from class com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolDataSource
getPooledConnection, getPooledConnection
-
Methods inherited from class com.microsoft.sqlserver.jdbc.SQLServerDataSource
getAADSecurePrincipalId, getAccessToken, getAccessTokenCallback, getAccessTokenCallbackClass, getApplicationIntent, getApplicationName, getAuthentication, getCancelQueryTimeout, getClientCertificate, getClientKey, getColumnEncryptionSetting, getConnection, getConnection, getConnectRetryCount, getConnectRetryInterval, getDatabaseName, getDatetimeParameterType, getDelayLoadingLobs, getDescription, getDisableStatementPooling, getDomain, getEnablePrepareOnFirstPreparedStatementCall, getEnclaveAttestationProtocol, getEnclaveAttestationUrl, getEncrypt, getFailoverPartner, getFIPS, getGSSCredentials, getHostNameInCertificate, getInstanceName, getIPAddressPreference, getJAASConfigurationName, getJASSConfigurationName, getKeyStoreAuthentication, getKeyStoreLocation, getKeyStorePrincipalId, getKeyVaultProviderClientId, getLastUpdateCount, getLockTimeout, getLoginTimeout, getLogWriter, getMaxResultBuffer, getMSIClientId, getMsiTokenCacheTtl, getMultiSubnetFailover, getPacketSize, getParentLogger, getPortNumber, getPrepareMethod, getQueryTimeout, getRealm, getReplication, getResponseBuffering, getSelectMethod, getSendStringParametersAsUnicode, getSendTemporalDataTypesAsStringForBulkCopy, getSendTimeAsDatetime, getServerCertificate, getServerName, getServerNameAsACE, getServerPreparedStatementDiscardThreshold, getServerSpn, getSocketFactoryClass, getSocketFactoryConstructorArg, getSocketTimeout, getSSLProtocol, getStatementPoolingCacheSize, getTransparentNetworkIPResolution, getTrustManagerClass, getTrustManagerConstructorArg, getTrustServerCertificate, getTrustStore, getTrustStoreType, getURL, getUseBulkCopyForBatchInsert, getUseFmtOnly, getUser, getWorkstationID, getXopenStates, isWrapperFor, setAADSecurePrincipalId, setAADSecurePrincipalSecret, setAccessToken, setAccessTokenCallback, setAccessTokenCallbackClass, setApplicationIntent, setApplicationName, setAuthentication, setAuthenticationScheme, setCancelQueryTimeout, setClientCertificate, setClientKey, setClientKeyPassword, setColumnEncryptionSetting, setConnectRetryCount, setConnectRetryInterval, setDatabaseName, setDatetimeParameterType, setDelayLoadingLobs, setDescription, setDisableStatementPooling, setDomain, setEnablePrepareOnFirstPreparedStatementCall, setEnclaveAttestationProtocol, setEnclaveAttestationUrl, setEncrypt, setEncrypt, setFailoverPartner, setFIPS, setGSSCredentials, setHostNameInCertificate, setInstanceName, setIntegratedSecurity, setIPAddressPreference, setJAASConfigurationName, setJASSConfigurationName, setKeyStoreAuthentication, setKeyStoreLocation, setKeyStorePrincipalId, setKeyStoreSecret, setKeyVaultProviderClientId, setKeyVaultProviderClientKey, setLastUpdateCount, setLockTimeout, setLoginTimeout, setLogWriter, setMaxResultBuffer, setMSIClientId, setMsiTokenCacheTtl, setMultiSubnetFailover, setPacketSize, setPassword, setPortNumber, setPrepareMethod, setQueryTimeout, setRealm, setReplication, setResponseBuffering, setSelectMethod, setSendStringParametersAsUnicode, setSendTemporalDataTypesAsStringForBulkCopy, setSendTimeAsDatetime, setServerCertificate, setServerName, setServerNameAsACE, setServerPreparedStatementDiscardThreshold, setServerSpn, setSocketFactoryClass, setSocketFactoryConstructorArg, setSocketTimeout, setSSLProtocol, setStatementPoolingCacheSize, setTransparentNetworkIPResolution, setTrustManagerClass, setTrustManagerConstructorArg, setTrustServerCertificate, setTrustStore, setTrustStorePassword, setTrustStoreType, setURL, setUseBulkCopyForBatchInsert, setUseFmtOnly, setUser, setWorkstationID, setXopenStates, toString, unwrap
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface javax.sql.CommonDataSource
createShardingKeyBuilder, getParentLogger
-
Methods inherited from interface javax.sql.ConnectionPoolDataSource
createPooledConnectionBuilder, getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriter
-
Methods inherited from interface javax.sql.DataSource
createConnectionBuilder
-
Methods inherited from interface javax.sql.XADataSource
createXAConnectionBuilder, getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriter
-
-
-
-
Method Detail
-
getXAConnection
public XAConnection getXAConnection(String user, String password) throws SQLException
Returns a physical database connection to particate in an XA transaction with the specified user and password. This API should only be called by XA connection pool implementations, not regular JDBC application code.- Specified by:
getXAConnection
in interfaceXADataSource
- Returns:
- A new XAConnection
- Throws:
SQLException
- The database connection failed.
-
getXAConnection
public XAConnection getXAConnection() throws SQLException
Returns a physical database connection to particate in an XA transaction. This API should only be called by XA connection pool implementations, not regular JDBC application code.- Specified by:
getXAConnection
in interfaceXADataSource
- Returns:
- A new XAConnection
- Throws:
SQLException
- The database connection failed.
-
getReference
public Reference getReference()
- Specified by:
getReference
in interfaceReferenceable
- Overrides:
getReference
in classSQLServerConnectionPoolDataSource
-
-