Class OracleConnectionPoolDataSource

java.lang.Object
oracle.jdbc.datasource.impl.OracleDataSource
oracle.jdbc.datasource.impl.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

public class OracleConnectionPoolDataSource extends OracleDataSource implements OracleConnectionPoolDataSource, oracle.jdbc.replay.internal.OracleConnectionPoolDataSource

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: