oracle.jdbc.replay

## Interface OracleDataSource

All Superinterfaces:
  CommonDataSource, DataSource, OracleCommonDataSource, OracleDataSource, Wrapper

All Known Subinterfaces:
  OracleConnectionPoolDataSource, OracleXADataSource

    public interface OracleDataSource
    extends OracleDataSource

A data source that supports transparent failover replay of JDBC operations.

### Field Summary

Fields
`static String` `CONNECTION_PROPERTIES`
`static String` `DATA_SOURCE_NAME`
`static String` `DATABASE_NAME`
`static String` `DESCRIPTION`
`static String` `EXPLICIT_CACHING_ENABLED`
`static String` `IMPLICIT_CACHING_ENABLED`
`static String` `MAX_STATEMENTS`
`static String` `NETWORK_PROTOCOL`
`static String` `PASSWORD`
`static String` `PORT_NUMBER`
`static String` `ROLE_NAME`
`static String` `SERVER_NAME`
`static String` `URL`
`static String` `USER`

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `clearReplayStatistics()` Clears replay statistics accumulated so far on all connection created by this data source.
`oracle.jdbc.replay.internal.ConnectionInitializationCallback` `getConnectionInitializationCallback()` Obtains the registered connection initialization callback, if any.
`boolean` `getExplicitCachingEnabled()` Returns the current value of the explicitCachingEnabled property.
`boolean` `getImplicitCachingEnabled()` getImplicitCachingEnabled Returns the current value of the implicitCachingEnabled property.
`int` `getMaxStatements()` Returns the current value of the maxStatements property.
`ReplayStatistics` `getReplayStatistics()` Obtains replay statistics accumulated so far.
`String` `getRoleName()` Gets the data source role name.
`void` `registerConnectionInitializationCallback(oracle.jdbc.replay.internal.ConnectionInitializationCallback cbk)` Registers a connection initialization callback.
`void` `setExplicitCachingEnabled(boolean cache)` Sets the value of the explicitCachingEnabled property, which enables or disables the explicit cache.
`void` `setImplicitCachingEnabled(boolean cache)` Sets the value of the implicitCachingEnabled property, which enables or disables the implicit statement cache.
`void` `setMaxStatements(int max)` Specifies the value of the maxStatements property.
`void` `setRoleName(String roleName)` Sets the data source role name.
`void` `unregisterConnectionInitializationCallback(oracle.jdbc.replay.internal.ConnectionInitializationCallback cbk)` Unregisters a specified connection initialization callback.

### Methods inherited from interface oracle.jdbc.datasource.OracleDataSource

`createConnectionBuilder, setExecutorService`

### Methods inherited from interface javax.sql.DataSource

`getConnection, getConnection`

### Methods inherited from interface java.sql.Wrapper

`isWrapperFor, unwrap`

### Methods inherited from interface oracle.jdbc.datasource.OracleCommonDataSource

`createShardingKeyBuilder, getConnectionProperties, getConnectionProperty, getDatabaseName, getDataSourceName, getDescription, getNetworkProtocol, getPortNumber, getServerName, getURL, getUser, setConnectionProperties, setConnectionProperty, setDatabaseName, setDataSourceName, setDescription, setNetworkProtocol, setPassword, setPortNumber, setServerName, setSingleShardTransactionSupport, setSSLContext, setURL, setUser`

### Methods inherited from interface javax.sql.CommonDataSource

`getLoginTimeout, getLogWriter, getParentLogger, setLoginTimeout, setLogWriter`

### Field Detail

#### USER

    static final String USER

See Also:
  Constant Field Values

#### URL

    static final String URL

See Also:
  Constant Field Values

#### PASSWORD

    static final String PASSWORD

See Also:
  Constant Field Values

#### SERVER_NAME

    static final String SERVER_NAME

See Also:
  Constant Field Values

#### PORT_NUMBER

    static final String PORT_NUMBER

See Also:
  Constant Field Values

#### DATABASE_NAME

    static final String DATABASE_NAME

See Also:
  Constant Field Values

#### DATA_SOURCE_NAME

    static final String DATA_SOURCE_NAME

See Also:
  Constant Field Values

#### DESCRIPTION

    static final String DESCRIPTION

See Also:
  Constant Field Values

#### NETWORK_PROTOCOL

    static final String NETWORK_PROTOCOL

See Also:
  Constant Field Values

#### ROLE_NAME

    static final String ROLE_NAME

See Also:
  Constant Field Values

#### CONNECTION_PROPERTIES

    static final String CONNECTION_PROPERTIES

See Also:
  Constant Field Values

#### MAX_STATEMENTS

    static final String MAX_STATEMENTS

See Also:
  Constant Field Values

#### IMPLICIT_CACHING_ENABLED

    static final String IMPLICIT_CACHING_ENABLED

See Also:
  Constant Field Values

#### EXPLICIT_CACHING_ENABLED

    static final String EXPLICIT_CACHING_ENABLED

See Also:
  Constant Field Values

### Method Detail

#### setRoleName

    void setRoleName(String roleName)
              throws SQLException

Sets the data source role name.

Specified by:
  `setRoleName` in interface `OracleCommonDataSource`
Parameters:
  `roleName` - data source role name to be set.
Throws:
  `SQLException`

#### getRoleName

    String getRoleName()

Gets the data source role name.

Specified by:
  `getRoleName` in interface `OracleCommonDataSource`
Returns:
  data source role name.

#### registerConnectionInitializationCallback

    void registerConnectionInitializationCallback(oracle.jdbc.replay.internal.ConnectionInitializationCallback cbk)
                                           throws SQLException

Registers a connection initialization callback.

Parameters:
  `cbk` - The `ConnectionInitializationCallback` object to be registered.
Throws:
  `SQLException` - If there is a callback already registered with the pool.

#### unregisterConnectionInitializationCallback

    void unregisterConnectionInitializationCallback(oracle.jdbc.replay.internal.ConnectionInitializationCallback cbk)
                                             throws SQLException

Unregisters a specified connection initialization callback.

Parameters:
  `cbk` - The `ConnectionInitializationCallback` object to be unregistered.
Throws:
  `SQLException` - If callback removal fails.

#### getConnectionInitializationCallback

    oracle.jdbc.replay.internal.ConnectionInitializationCallback getConnectionInitializationCallback()

Obtains the registered connection initialization callback, if any.

Returns:
  The registered `ConnectionInitializationCallback`, or null if there is no callback registered.

#### setMaxStatements

    void setMaxStatements(int max)
                   throws SQLException

Specifies the value of the maxStatements property. This is the size of the statement cache used by both implicit and explicit caching. This value does not apply to the statement cache size of connections created by ImplicitStatementCache for which the cache size is set through a java.util.Properties object.

Specified by:
  `setMaxStatements` in interface `OracleCommonDataSource`
Parameters:
  `max` - Requested size of the cache. If the existing cache size is less than max, statements will be purged to reduce the size.
Throws:
  `SQLException` - if max < 0

#### getMaxStatements

    int getMaxStatements()
                  throws SQLException

Returns the current value of the maxStatements property.

Specified by:
  `getMaxStatements` in interface `OracleCommonDataSource`
Throws:
  `SQLException`

#### setImplicitCachingEnabled

    void setImplicitCachingEnabled(boolean cache)
                            throws SQLException

Sets the value of the implicitCachingEnabled property, which enables or disables the implicit statement cache. Note that this is independent of the cache size that is set with setMaxStatements().

Specified by:
  `setImplicitCachingEnabled` in interface `OracleCommonDataSource`
Parameters:
  `cache` - If true, then implicit caching is enabled. If false, then any existing statement is purged and the implicit caching is disabled.
Throws:
  `SQLException`

#### getImplicitCachingEnabled

    boolean getImplicitCachingEnabled()
                               throws SQLException

getImplicitCachingEnabled Returns the current value of the implicitCachingEnabled property.

Specified by:
  `getImplicitCachingEnabled` in interface `OracleCommonDataSource`
Throws:
  `SQLException`

#### setExplicitCachingEnabled

    void setExplicitCachingEnabled(boolean cache)
                            throws SQLException

Sets the value of the explicitCachingEnabled property, which enables or disables the explicit cache. Note that this is independent of the cache size, which is set with setMaxStatements().

Specified by:
  `setExplicitCachingEnabled` in interface `OracleCommonDataSource`
Parameters:
  `cache` - If true, then explicit caching is enabled. If false, then any existing statement is purged and the explicit caching is disabled.
Throws:
  `SQLException` - if called on a logical connection.

#### getExplicitCachingEnabled

    boolean getExplicitCachingEnabled()
                               throws SQLException

Returns the current value of the explicitCachingEnabled property.

Specified by:
  `getExplicitCachingEnabled` in interface `OracleCommonDataSource`
Throws:
  `SQLException`

#### getReplayStatistics

    ReplayStatistics getReplayStatistics()

Obtains replay statistics accumulated so far. These reflect replay actions across all the connections created by this data source. It is recommended that this call be made when the connections are quiescent and there are few new connections being opened.

Returns:
  A replay statistics object containing all the metrics.

#### clearReplayStatistics

    void clearReplayStatistics()

Clears replay statistics accumulated so far on all connection created by this data source. It is recommended that this call be made when the connections are quiescent and there are few new connections being opened.

Copyright © 2008, 2020, Oracle and/or its affiliates. All rights reserved.