Class OracleConnectionPoolDataSource
- All Implemented Interfaces:
Serializable,Wrapper,Referenceable,CommonDataSource,ConnectionPoolDataSource,DataSource,OracleCommonDataSource,OracleConnectionPoolDataSource,OracleDataSource,oracle.jdbc.diagnostics.Diagnosable,oracle.jdbc.diagnostics.PropertyChangeListener,oracle.jdbc.internal.Monitor,oracle.jdbc.replay.internal.OracleConnectionPoolDataSource,oracle.jdbc.replay.internal.OracleDataSource,OracleConnectionPoolDataSource,OracleDataSource
- Direct Known Subclasses:
OracleConnectionPoolDataSource,OracleConnectionPoolDataSourceImpl
A DataSource object is a factory for Connection objects.
An object that implements the DataSource interface will typically
be registered with a JNDI service provider. A JDBC driver that is
accessed via the DataSource API does not automatically register
itself with the DriverManager.
This data source implements the standard JDBC
javax.sql.OracleConnectionPoolDataSource and
the Oracle JDBC extension
oracle.jdbc.datasource.OracleConnectionPoolDataSource interfaces.
This data Source also supports Application Continuity (AC) and
transparent JDBC operation replay upon a failover. To disable
such feature, set "oracle.jdbc.enableACSupport" to false either
as a Java system property, or as a connection property on this
data source.
For most common scenarios, use
oracle.jdbc.datasource.impl.OracleDataSource, instead of this class.
This class is reserved for connection pool developers who build their
pools using javax.sql.PooledConnection.
For those developers, we strongly recommend to use this data source,
instead of older ones, like
oracle.jdbc.pool.OracleConnectionPoolDataSource, or
oracle.jdbc.replay.OracleConnectionPoolDataSourceImpl.
This applies to both standalone and application container use cases.
The following example illustrates the use of this data source to
create a JDBC PooledConnection:
oracle.jdbc.datasource.OracleConnectionPoolDataSource ocpds =
new oracle.jdbc.datasource.impl.OracleConnectionPoolDataSource();
ocpds.setURL("jdbc:oracle:thin:@//dbhost:dbport/dbservice");
ocpds.setUser("User");
ocpds.setPassword("Passwd");
ocpds.setConnectionProperty("connProp1", "value1");
ocpds.setConnectionProperty("connProp2", "value2");
javax.sql.PooledConnection pc = ocpds.getPooledConnection();
The following example illustrates the use of a connection obtained from this data source for Application Continuity protection:
PooledConnection pc = rcpds.getPooledConnection();
Connection conn = pc.getConnection(); // Implicit request begin
...... // JDBC calls protected by Application Continuity
conn.close(); // Implicit request end
- Since:
- 21c
- 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.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
Modifier and TypeMethodDescriptionCreates a newOraclePooledConnectionBuilderinstanceAttempt to establish a database connection.getConnection(String usr, String pwd) Attempt to establish a database connection.getConnection(Properties props) protected ConnectionGet a Physical Connection with default url, user name, and passwordprotected ConnectiongetPhysicalConnection(String _user, String _passwd) Get a Physical Connection with the user name and password & default URLprotected ConnectiongetPhysicalConnection(String _url, String _user, String _passwd) Get a Physical Connection with the given url, user name, and passwordprotected ConnectiongetPhysicalConnection(String _url, String _user, oracle.jdbc.internal.OpaqueString _passwd) Get a Physical Connection with the given url, user name, and passwordprotected ConnectiongetPhysicalConnection(String _user, oracle.jdbc.internal.OpaqueString _passwd) Get a Physical Connection with the user name and password & default URLAttempt to establish a database connection.getPooledConnection(String _user, String _password) Attempt to establish a database connection.protected OraclePooledConnectiongetPooledConnection(OracleConnectionBuilderImpl connBuilder) Methods inherited from class oracle.jdbc.datasource.impl.OracleDataSource
addRefProperties, cleanup, clearDoneDumpOnMemoryPressure, clearReplayStatistics, createConnectionBuilder, dms_data_source_type, enableACAndProxifyIfNecessary, finalize, getConnection, getConnection, getConnectionDuringExceptionHandling, 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, setURL, 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
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, setURL, setUserMethods 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, unwrap
-
Constructor Details
-
OracleConnectionPoolDataSource
- Throws:
SQLException
-
-
Method Details
-
getPooledConnection
Attempt to establish a database connection.
- Specified by:
getPooledConnectionin interfaceConnectionPoolDataSource- Specified by:
getPooledConnectionin interfaceOracleConnectionPoolDataSource- Returns:
- a PooledConnection to the database
- Throws:
SQLException- if a database-access error occurs.
-
getPooledConnection
Attempt to establish a database connection.
- Specified by:
getPooledConnectionin interfaceConnectionPoolDataSource- Specified by:
getPooledConnectionin interfaceOracleConnectionPoolDataSource- Parameters:
user- the database user on whose behalf the Connection is being madepassword- the user's password- Returns:
- a PooledConnection to the database
- Throws:
SQLException- if a database-access error occurs.
-
getPhysicalConnection
Get a Physical Connection with default url, user name, and password- Throws:
SQLException
-
getPhysicalConnection
protected Connection getPhysicalConnection(String _url, String _user, String _passwd) throws SQLException Get a Physical Connection with the given url, user name, and password- Throws:
SQLException
-
getPhysicalConnection
Get a Physical Connection with the user name and password & default URL- Throws:
SQLException
-
getPhysicalConnection
protected Connection getPhysicalConnection(String _url, String _user, oracle.jdbc.internal.OpaqueString _passwd) throws SQLException Get a Physical Connection with the given url, user name, and password- Throws:
SQLException
-
getPhysicalConnection
protected Connection getPhysicalConnection(String _user, oracle.jdbc.internal.OpaqueString _passwd) throws SQLException Get a Physical Connection with the user name and password & default URL- Throws:
SQLException
-
getPooledConnection
protected OraclePooledConnection getPooledConnection(OracleConnectionBuilderImpl connBuilder) throws SQLException - Throws:
SQLException
-
createPooledConnectionBuilder
Description copied from interface:OracleConnectionPoolDataSourceCreates a newOraclePooledConnectionBuilderinstance- Specified by:
createPooledConnectionBuilderin interfaceConnectionPoolDataSource- Specified by:
createPooledConnectionBuilderin interfaceOracleConnectionPoolDataSource- Returns:
- The
OraclePooledConnectionBuilderinstance that was created - Throws:
SQLException- if an error occurs while creating the builder
-
getConnection
Description copied from class:OracleDataSourceAttempt to establish a database connection.
- Specified by:
getConnectionin interfaceDataSource- Overrides:
getConnectionin classOracleDataSource- Returns:
- a Connection to the database
- Throws:
SQLException- if a database-access error occurs.
-
getConnection
Description copied from class:OracleDataSourceAttempt to establish a database connection.
- Specified by:
getConnectionin interfaceDataSource- Overrides:
getConnectionin classOracleDataSource- Parameters:
usr- the database user on whose behalf the Connection is being madepwd- the user's password- Returns:
- a Connection to the database
- Throws:
SQLException- if a database-access error occurs.
-
getConnection
- Throws:
SQLException
-