Class OracleXADataSourceImpl
- All Implemented Interfaces:
Serializable,Wrapper,Referenceable,CommonDataSource,ConnectionPoolDataSource,DataSource,XADataSource,OracleCommonDataSource,OracleConnectionPoolDataSource,OracleDataSource,OracleXADataSource,oracle.jdbc.diagnostics.Diagnosable,oracle.jdbc.diagnostics.PropertyChangeListener,oracle.jdbc.internal.Monitor,oracle.jdbc.replay.internal.OracleConnectionPoolDataSource,oracle.jdbc.replay.internal.OracleDataSource,oracle.jdbc.replay.internal.OracleXADataSource,OracleConnectionPoolDataSource,OracleDataSource,OracleXADataSource
XADataSource implementation that provides Application Continuity protection for applications using only local transactions or local transactions that are promotable to global/XA transactions.
Both JDBC and Java Transaction API (JTA) allow a JDBC connection to interchangeably participate in local and global/XA transactions. However, many customer applications obtain connections from an XA data source, but use these connections to perform only local transactions. These applications can use this data source to get AC protection.
Whenever an underlying physical connection starts to participate in a global/XA transaction, or engage in any XA operation, replay is disabled on that connection. The XA operations function normally, but the application does not get Application Continuity protection.
Once replay is disabled on a connection for the above reasons, it remains disabled until the next request begin. Switching from global/XA transaction to local transaction mode does not automatically re-enable replay on a connection.
The following example illustrates the use of this data source to
create a JDBC XAConnection:
oracle.jdbc.xa.client.OracleXADataSource oxads =
new oracle.jdbc.xa.client.OracleXADataSource();
oxads.setURL("jdbc:oracle:thin:@//dbhost:dbport/dbservice");
oxads.setUser("User");
oxads.setPassword("Passwd");
oxads.setConnectionProperty("connProp1", "value1");
oxads.setConnectionProperty("connProp2", "value2");
javax.sql.XAConnection xaconn = oxads.getXAConnection();
The following example illustrates the use of a connection obtained from this data source for Application Continuity protection:
oracle.jdbc.replay.OracleXADataSource rxads =
new oracle.jdbc.replay.OracleXADataSourceImpl();
rxads.setURL("jdbc:oracle:thin:@//dbhost:dbport/dbservice");
rxads.setUser("User");
rxads.setPassword("Passwd");
rxads.setConnectionProperty("connProp1", "value1");
rxads.setConnectionProperty("connProp2", "value2");
XAConnection xaconn = rxads.getXAConnection();
Connection conn = xaconn.getConnection(); // Implicit request begin
...... // JDBC calls protected by Application Continuity
conn.close(); // Implicit request end
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface oracle.jdbc.internal.Monitor
oracle.jdbc.internal.Monitor.CloseableLock, oracle.jdbc.internal.Monitor.WaitableMonitor -
Field Summary
Fields inherited from class oracle.jdbc.xa.OracleXADataSource
useNativeXAFields inherited from class oracle.jdbc.datasource.impl.OracleDataSource
CHECKSUM_PROPERTY, clientChecksum11203x, clientChecksum12x, connectionProperties, databaseName, dataSourceName, DEFAULT_SERVICE_NAME, description, DMS_DEFAULT_DATASOURCE_NAME, DMS_ROOT_NAME, doneDumpOnMemoryPressure, driver, driverType, ENABLE_AC_SUPPORT_PROPERTY, ENABLE_SSS_CURSOR_SUPPORT_PROPERTY, explicitCachingEnabled, explicitCachingEnabledSet, FAILOVER_RESTORE_AUTO, FAILOVER_RESTORE_LEVEL1, FAILOVER_RESTORE_LEVEL2, FAILOVER_RESTORE_NONE, FAILOVER_RESTORE_PROPERTY, FAILOVER_TYPE_AUTO, FAILOVER_TYPE_ON_REMOTE, FAILOVER_TYPE_PROPERTY, FAILOVER_TYPE_TRANSACTION, IGNORE_AC_CONTEXT_PROPERTY, implicitCachingEnabled, implicitCachingEnabledSet, INITIATION_TIMEOUT_PROPERTY, isAutoACEnabled, isFirstConnection, isHybrid, isOracleDataSource, isReplayInDynamicMode, isSSSCursorEnabled, isStateRestorationAuto, isTransactionReplayEnabled, loginTimeout, logWriter, maxStatements, maxStatementsSet, networkProtocol, password, portNumber, RECONNECT_DELAY_PROPERTY, RECONNECT_RETRIES_PROPERTY, reconnectDelay, reconnectRetries, replayInitiationTimeout, REQUEST_SIZE_LIMIT_PROPERTY, serverName, serviceName, SESSION_STATE_CONSISTENCY_HYBRID, SESSION_STATE_CONSISTENCY_STATIC, SESSION_STATE_PROPERTY, stateRestorationType, tnsEntry, TRACE, trackerInitialized, unnamedInstanceCount, url, userFields inherited from interface oracle.jdbc.replay.OracleDataSource
CONNECTION_PROPERTIES, DATA_SOURCE_NAME, DATABASE_NAME, DESCRIPTION, EXPLICIT_CACHING_ENABLED, IMPLICIT_CACHING_ENABLED, MAX_STATEMENTS, NETWORK_PROTOCOL, PASSWORD, PORT_NUMBER, ROLE_NAME, SERVER_NAME, URL, USER -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class oracle.jdbc.xa.client.OracleXADataSource
createXAConnectionBuilder, getXAConnection, getXAConnection, getXAConnectionMethods inherited from class oracle.jdbc.xa.OracleXADataSource
getConnectionDuringExceptionHandling, setURLMethods inherited from class oracle.jdbc.datasource.impl.OracleConnectionPoolDataSource
createPooledConnectionBuilder, getConnection, getConnection, getConnection, getPhysicalConnection, getPhysicalConnection, getPhysicalConnection, getPhysicalConnection, getPhysicalConnection, getPooledConnection, getPooledConnectionMethods inherited from class oracle.jdbc.datasource.impl.OracleDataSource
addRefProperties, cleanup, clearDoneDumpOnMemoryPressure, clearReplayStatistics, createConnectionBuilder, dms_data_source_type, enableACAndProxifyIfNecessary, finalize, getConnection, getConnection, getConnectionInitializationCallback, getConnectionNoProxy, getConnectionProperties, getConnectionProperty, getDatabaseName, getDataSourceName, getDescription, getDiagnosable, getDriverType, getExplicitCachingEnabled, getImplicitCachingEnabled, getLoginTimeout, getLogWriter, getMaxStatements, getMonitorLock, getNetworkProtocol, getParentLogger, getPassword, getPhysicalConnection, getPortNumber, getProxyFactory, getReference, getReplayStatistics, getReplayStatisticsString, getRequestSizeLimit, getRoleName, getServerName, getServiceName, getSSSCursorProperty, getSystemProperty, getTNSEntryName, getURL, getUser, isWrapperFor, makeURL, registerConnectionInitializationCallback, registerMBean, removeReplayStatistics, setConnectionProperties, setConnectionProperty, setDatabaseName, setDataSourceName, setDescription, setDriverType, setExplicitCachingEnabled, setHostnameResolver, setImplicitCachingEnabled, setLoginTimeout, setLogWriter, setMaxStatements, setNetworkProtocol, setPassword, setPortNumber, setRoleName, setServerName, setServiceName, setSingleShardTransactionSupport, setSSLContext, setTNSEntryName, setTokenSupplier, setupACSpecificProperties, setUser, unregisterConnectionInitializationCallback, unregisterMBean, unwrap, updateReplayStatisticsMethods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface javax.sql.CommonDataSource
getParentLoggerMethods inherited from interface javax.sql.ConnectionPoolDataSource
getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriterMethods inherited from interface javax.sql.DataSource
getConnection, getConnection, getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriterMethods inherited from interface oracle.jdbc.diagnostics.Diagnosable
begin, beginCurrentSql, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debugp, end, endCurrentSql, format, isDebugEnabled, isDiagnoseFirstFailureEnabled, isLoggable, isSensitiveEnabled, onClose, propertyChange, resumeLogging, secure, suspendLogging, trace, tracepMethods inherited from interface oracle.jdbc.internal.Monitor
acquireCloseableLock, acquireLock, assertLockHeldByCurrentThread, isReentrantLock, releaseLockMethods inherited from interface oracle.jdbc.datasource.OracleCommonDataSource
createShardingKeyBuilder, getConnectionProperties, getConnectionProperty, getDatabaseName, getDataSourceName, getDescription, getNetworkProtocol, getPortNumber, getServerName, getURL, getUser, setConnectionProperties, setConnectionProperty, setDatabaseName, setDataSourceName, setDescription, setHostnameResolver, setNetworkProtocol, setPassword, setPortNumber, setServerName, setSingleShardTransactionSupport, setSSLContext, setTokenSupplier, setUserMethods inherited from interface oracle.jdbc.datasource.OracleConnectionPoolDataSource
createPooledConnectionBuilderMethods inherited from interface oracle.jdbc.replay.OracleConnectionPoolDataSource
getPooledConnectionMethods inherited from interface oracle.jdbc.datasource.OracleDataSource
createConnectionBuilderMethods inherited from interface oracle.jdbc.replay.internal.OracleDataSource
clearDoneDumpOnMemoryPressure, getConnectionNoProxy, getProxyFactory, getReplayStatisticsString, getRequestSizeLimit, removeReplayStatistics, updateReplayStatisticsMethods inherited from interface oracle.jdbc.replay.OracleDataSource
clearReplayStatistics, getConnectionInitializationCallback, getExplicitCachingEnabled, getImplicitCachingEnabled, getMaxStatements, getReplayStatistics, getRoleName, registerConnectionInitializationCallback, setExplicitCachingEnabled, setImplicitCachingEnabled, setMaxStatements, setRoleName, unregisterConnectionInitializationCallbackMethods inherited from interface java.sql.Wrapper
isWrapperFor, unwrapMethods inherited from interface javax.sql.XADataSource
getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriter
-
Constructor Details
-
OracleXADataSourceImpl
- Throws:
SQLException
-