Class OracleConnectionPoolDataSource
- java.lang.Object
-
- oracle.jdbc.datasource.impl.OracleDataSource
-
- oracle.jdbc.datasource.impl.OracleConnectionPoolDataSource
-
- All Implemented Interfaces:
java.beans.PropertyChangeListener
,java.io.Serializable
,java.sql.Wrapper
,java.util.EventListener
,javax.naming.Referenceable
,javax.sql.CommonDataSource
,javax.sql.ConnectionPoolDataSource
,javax.sql.DataSource
,OracleCommonDataSource
,OracleConnectionPoolDataSource
,OracleDataSource
,oracle.jdbc.diagnostics.Diagnosable
,oracle.jdbc.internal.Monitor
,oracle.jdbc.replay.internal.OracleConnectionPoolDataSource
,oracle.jdbc.replay.internal.OracleDataSource
,OracleConnectionPoolDataSource
,OracleDataSource
- Direct Known Subclasses:
OracleConnectionPoolDataSource
,OracleConnectionPoolDataSourceImpl
public class OracleConnectionPoolDataSource extends OracleDataSource implements OracleConnectionPoolDataSource, oracle.jdbc.replay.internal.OracleConnectionPoolDataSource
A
DataSource
object is a factory forConnection
objects. An object that implements theDataSource
interface will typically be registered with a JNDI service provider. A JDBC driver that is accessed via theDataSource
API does not automatically register itself with theDriverManager
.This data souce implements the standard JDBC
javax.sql.OracleConnectionPoolDataSource
and the Oracle JDBC extensionoracle.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.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:
- 20c
- See Also:
- Serialized Form
-
-
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, user
-
Fields 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 Constructor Description OracleConnectionPoolDataSource()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description OraclePooledConnectionBuilder
createPooledConnectionBuilder()
Creates a newOraclePooledConnectionBuilder
instancejava.sql.Connection
getConnection()
Attempt to establish a database connection.java.sql.Connection
getConnection(java.lang.String usr, java.lang.String pwd)
Attempt to establish a database connection.java.sql.Connection
getConnection(java.util.Properties props)
protected java.sql.Connection
getPhysicalConnection()
Get a Physical Connection with default url, user name, and passwordprotected java.sql.Connection
getPhysicalConnection(java.lang.String _user, java.lang.String _passwd)
Get a Physical Connection with the user name and password & default URLprotected java.sql.Connection
getPhysicalConnection(java.lang.String _url, java.lang.String _user, java.lang.String _passwd)
Get a Physical Connection with the given url, user name, and passwordprotected java.sql.Connection
getPhysicalConnection(java.lang.String _url, java.lang.String _user, oracle.jdbc.internal.OpaqueString _passwd)
Get a Physical Connection with the given url, user name, and passwordprotected java.sql.Connection
getPhysicalConnection(java.lang.String _user, oracle.jdbc.internal.OpaqueString _passwd)
Get a Physical Connection with the user name and password & default URLjavax.sql.PooledConnection
getPooledConnection()
Attempt to establish a database connection.javax.sql.PooledConnection
getPooledConnection(java.lang.String _user, java.lang.String _password)
Attempt to establish a database connection.protected OraclePooledConnection
getPooledConnection(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, updateReplayStatistics
-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface javax.sql.ConnectionPoolDataSource
getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriter
-
Methods inherited from interface javax.sql.DataSource
getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriter
-
Methods inherited from interface oracle.jdbc.diagnostics.Diagnosable
begin, begin, beginCurrentSql, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debugp, end, end, endCurrentSql, format, isDebugEnabled, isDiagnoseFirstFailureEnabled, isLoggable, isSensitiveEnabled, onClose, propertyChange, resumeLogging, secure, suspendLogging, trace, tracep
-
Methods inherited from interface oracle.jdbc.internal.Monitor
acquireCloseableLock, acquireLock, releaseLock
-
Methods 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, setUser
-
Methods inherited from interface oracle.jdbc.datasource.OracleDataSource
createConnectionBuilder
-
Methods inherited from interface oracle.jdbc.replay.internal.OracleDataSource
clearDoneDumpOnMemoryPressure, getConnectionNoProxy, getProxyFactory, getReplayStatisticsString, getRequestSizeLimit, removeReplayStatistics, updateReplayStatistics
-
Methods inherited from interface oracle.jdbc.replay.OracleDataSource
clearReplayStatistics, getConnectionInitializationCallback, getExplicitCachingEnabled, getImplicitCachingEnabled, getMaxStatements, getReplayStatistics, getRoleName, registerConnectionInitializationCallback, setExplicitCachingEnabled, setImplicitCachingEnabled, setMaxStatements, setRoleName, unregisterConnectionInitializationCallback
-
-
-
-
Method Detail
-
getPooledConnection
public javax.sql.PooledConnection getPooledConnection() throws java.sql.SQLException
Attempt to establish a database connection.
- Specified by:
getPooledConnection
in interfacejavax.sql.ConnectionPoolDataSource
- Specified by:
getPooledConnection
in interfaceOracleConnectionPoolDataSource
- Returns:
- a PooledConnection to the database
- Throws:
java.sql.SQLException
- if a database-access error occurs.
-
getPooledConnection
public javax.sql.PooledConnection getPooledConnection(java.lang.String _user, java.lang.String _password) throws java.sql.SQLException
Attempt to establish a database connection.
- Specified by:
getPooledConnection
in interfacejavax.sql.ConnectionPoolDataSource
- Specified by:
getPooledConnection
in 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:
java.sql.SQLException
- if a database-access error occurs.
-
getPhysicalConnection
protected java.sql.Connection getPhysicalConnection() throws java.sql.SQLException
Get a Physical Connection with default url, user name, and password- Throws:
java.sql.SQLException
-
getPhysicalConnection
protected java.sql.Connection getPhysicalConnection(java.lang.String _url, java.lang.String _user, java.lang.String _passwd) throws java.sql.SQLException
Get a Physical Connection with the given url, user name, and password- Throws:
java.sql.SQLException
-
getPhysicalConnection
protected java.sql.Connection getPhysicalConnection(java.lang.String _user, java.lang.String _passwd) throws java.sql.SQLException
Get a Physical Connection with the user name and password & default URL- Throws:
java.sql.SQLException
-
getPhysicalConnection
protected java.sql.Connection getPhysicalConnection(java.lang.String _url, java.lang.String _user, oracle.jdbc.internal.OpaqueString _passwd) throws java.sql.SQLException
Get a Physical Connection with the given url, user name, and password- Throws:
java.sql.SQLException
-
getPhysicalConnection
protected java.sql.Connection getPhysicalConnection(java.lang.String _user, oracle.jdbc.internal.OpaqueString _passwd) throws java.sql.SQLException
Get a Physical Connection with the user name and password & default URL- Throws:
java.sql.SQLException
-
getPooledConnection
protected OraclePooledConnection getPooledConnection(OracleConnectionBuilderImpl connBuilder) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
createPooledConnectionBuilder
public OraclePooledConnectionBuilder createPooledConnectionBuilder() throws java.sql.SQLException
Description copied from interface:OracleConnectionPoolDataSource
Creates a newOraclePooledConnectionBuilder
instance- Specified by:
createPooledConnectionBuilder
in interfacejavax.sql.ConnectionPoolDataSource
- Specified by:
createPooledConnectionBuilder
in interfaceOracleConnectionPoolDataSource
- Returns:
- The
OraclePooledConnectionBuilder
instance that was created - Throws:
java.sql.SQLException
- if an error occurs while creating the builder
-
getConnection
public java.sql.Connection getConnection() throws java.sql.SQLException
Description copied from class:OracleDataSource
Attempt to establish a database connection.
- Specified by:
getConnection
in interfacejavax.sql.DataSource
- Overrides:
getConnection
in classOracleDataSource
- Returns:
- a Connection to the database
- Throws:
java.sql.SQLException
- if a database-access error occurs.
-
getConnection
public java.sql.Connection getConnection(java.lang.String usr, java.lang.String pwd) throws java.sql.SQLException
Description copied from class:OracleDataSource
Attempt to establish a database connection.
- Specified by:
getConnection
in interfacejavax.sql.DataSource
- Overrides:
getConnection
in 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:
java.sql.SQLException
- if a database-access error occurs.
-
getConnection
public java.sql.Connection getConnection(java.util.Properties props) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
-