Serializable
, Wrapper
, Referenceable
, ObjectFactory
, CommonDataSource
, DataSource
, OracleCommonDataSource
, OracleDataSource
, oracle.jdbc.replay.internal.OracleDataSource
, OracleDataSource
OracleConnectionPoolDataSourceImpl
public class OracleDataSourceImpl extends Object implements oracle.jdbc.replay.internal.OracleDataSource, Serializable, Referenceable, ObjectFactory
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 | Description |
---|---|
OracleDataSourceImpl() |
Modifier and Type | Method | Description |
---|---|---|
void |
clearDoneDumpOnMemoryPressure() |
|
void |
clearReplayStatistics() |
Clears replay statistics accumulated so far on all connection created by this data source.
|
OracleConnectionBuilderImpl |
createConnectionBuilder() |
Creates a new OracleConnectionBuilder instance
|
protected Connection |
enableACAndProxifyIfNecessary(Connection conn, OracleConnectionBuilderImpl connBuilder) |
|
Connection |
getConnection() |
|
Connection |
getConnection(String username, String passwd) |
Attempts to obtain a database connection with the specified user and password.
|
protected Connection |
getConnection(OracleConnectionBuilderImpl connBldr) |
|
oracle.jdbc.replay.internal.ConnectionInitializationCallback |
getConnectionInitializationCallback() |
Obtains the registered connection initialization callback, if any.
|
Connection |
getConnectionNoProxy(OracleConnectionBuilderImpl connBuilder) |
|
Properties |
getConnectionProperties() |
Gets the connection properties that are set on this data source.
|
String |
getConnectionProperty(String propertyName) |
Gets the specified connection property that are set on this data source.
|
String |
getDatabaseName() |
Gets the database name.
|
String |
getDataSourceName() |
Gets the data source name.
|
String |
getDescription() |
Gets the data source description.
|
boolean |
getExplicitCachingEnabled() |
Returns the current value of the explicitCachingEnabled property.
|
boolean |
getImplicitCachingEnabled() |
getImplicitCachingEnabled Returns the current value of the implicitCachingEnabled property.
|
int |
getLoginTimeout() |
|
PrintWriter |
getLogWriter() |
|
int |
getMaxStatements() |
Returns the current value of the maxStatements property.
|
String |
getNetworkProtocol() |
Gets the datasource networkProtocol.
|
Object |
getObjectInstance(Object refObj, Name name, Context nameCtx, Hashtable<?,?> env) |
|
Logger |
getParentLogger() |
|
int |
getPortNumber() |
Gets the database port number.
|
oracle.jdbc.proxy.ProxyFactory |
getProxyFactory() |
|
Reference |
getReference() |
|
ReplayStatistics |
getReplayStatistics() |
Obtains replay statistics accumulated so far.
|
String |
getReplayStatisticsString() |
|
int |
getRequestSizeLimit() |
|
String |
getRoleName() |
Gets the datasource role name.
|
String |
getServerName() |
Gets the database server name.
|
String |
getURL() |
Gets the URL for this datasource.
|
String |
getUser() |
Gets the user name for this datasource.
|
boolean |
isWrapperFor(Class<?> iface) |
Since this class is not a wrapper, just check to see if this implements the requested interface.
|
void |
registerConnectionInitializationCallback(oracle.jdbc.replay.internal.ConnectionInitializationCallback cbk) |
Registers a ConnectionInitializationCallback with the data source.
|
void |
setConnectionProperties(Properties connProperties) |
Sets the connection properties on the data source.
|
void |
setConnectionProperty(String name, String value) |
Sets a connection property on the data source.
|
void |
setDatabaseName(String databaseName) |
Sets the database name.
|
void |
setDataSourceName(String dataSourceName) |
Sets the data source name.
|
void |
setDescription(String description) |
Sets the data source description.
|
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 |
setLoginTimeout(int seconds) |
|
void |
setLogWriter(PrintWriter out) |
|
void |
setMaxStatements(int max) |
Specifies the value of the maxStatements property.
|
void |
setNetworkProtocol(String networkProtocol) |
Sets the datasource networkProtocol.
|
void |
setPassword(String passwd) |
Sets the password with which connections have to be obtained.
|
void |
setPortNumber(int portNumber) |
Sets the database port number.
|
void |
setRoleName(String roleName) |
Sets the datasource role name.
|
void |
setServerName(String serverName) |
Sets the database server name.
|
void |
setSSLContext(SSLContext sslContext) |
Specifies a
SSLContext to use as a factory for SSLEngine objects that carry out the TLS protocol. |
protected void |
setupACSpecificProperties() |
|
void |
setURL(String url) |
Sets the URL from which connections have to be obtained.
|
void |
setUser(String username) |
Set the user name with which connections have to be obtained.
|
void |
unregisterConnectionInitializationCallback(oracle.jdbc.replay.internal.ConnectionInitializationCallback cbk) |
Removes the ConnectionInitializationCallback registered with the data source, if any.
|
<T> T |
unwrap(Class<T> iface) |
Since this class is not a wrapper, just check to see if this implements the requested interface.
|
void |
updateReplayStatistics(oracle.jdbc.replay.internal.ReplayStatistics newStats) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createShardingKeyBuilder
protected OracleDataSource ods
protected OracleDataSource odsReconnectOnly
protected String user
protected oracle.jdbc.internal.OpaqueString password
protected Properties connectionProperties
protected Properties reconnectionProperties
protected AtomicBoolean isFirstConnection
protected static final String RECONNECT_DELAY_PROPERTY
protected static final String RECONNECT_RETRIES_PROPERTY
protected int reconnectDelay
protected int reconnectRetries
protected static final String FAILOVER_TYPE_PROPERTY
protected static final int FAILOVER_TYPE_TRANSACTION
protected static final int SESSION_STATE_CONSISTENCY_STATIC
protected static final int FAILOVER_TYPE_AUTO
protected boolean isTransactionReplayEnabled
protected boolean isAutoACEnabled
protected static final String SESSION_STATE_PROPERTY
protected boolean isReplayInDynamicMode
protected static final String FAILOVER_RESTORE_PROPERTY
protected static final int FAILOVER_RESTORE_NONE
protected static final int FAILOVER_RESTORE_LEVEL1
protected static final int FAILOVER_RESTORE_AUTO
protected oracle.jdbc.replay.internal.ReplayableConnection.StateRestorationType stateRestorationType
protected boolean isStateRestorationAuto
protected static final String INITIATION_TIMEOUT_PROPERTY
protected int replayInitiationTimeout
protected static final String CHECKSUM_PROPERTY
protected final String clientChecksum12x
protected final String clientChecksum11203x
protected static final String IGNORE_AC_CONTEXT_PROPERTY
protected static final String REQUEST_SIZE_LIMIT_PROPERTY
protected AtomicBoolean doneDumpOnMemoryPressure
public Connection getConnection() throws SQLException
getConnection
in interface DataSource
SQLException
public Connection getConnection(String username, String passwd) throws SQLException
getConnection
in interface DataSource
username
- The database user on whose behalf the connection is being made.passwd
- The user's password.SQLException
- if a database-access error occurs.protected Connection getConnection(OracleConnectionBuilderImpl connBldr) throws SQLException
SQLException
public Connection getConnectionNoProxy(OracleConnectionBuilderImpl connBuilder) throws SQLException
getConnectionNoProxy
in interface oracle.jdbc.replay.internal.OracleDataSource
SQLException
protected void setupACSpecificProperties() throws SQLException
SQLException
protected Connection enableACAndProxifyIfNecessary(Connection conn, OracleConnectionBuilderImpl connBuilder) throws SQLException
SQLException
public PrintWriter getLogWriter() throws SQLException
getLogWriter
in interface CommonDataSource
getLogWriter
in interface DataSource
SQLException
public void setLogWriter(PrintWriter out) throws SQLException
setLogWriter
in interface CommonDataSource
setLogWriter
in interface DataSource
SQLException
public void setLoginTimeout(int seconds) throws SQLException
setLoginTimeout
in interface CommonDataSource
setLoginTimeout
in interface DataSource
SQLException
public int getLoginTimeout() throws SQLException
getLoginTimeout
in interface CommonDataSource
getLoginTimeout
in interface DataSource
SQLException
public String getUser()
OracleCommonDataSource
getUser
in interface OracleCommonDataSource
public void setUser(String username) throws SQLException
OracleCommonDataSource
setUser
in interface OracleCommonDataSource
SQLException
public void setPassword(String passwd) throws SQLException
OracleCommonDataSource
setPassword
in interface OracleCommonDataSource
passwd
- Passowrd to be set.SQLException
public String getURL()
OracleCommonDataSource
getURL
in interface OracleCommonDataSource
public void setURL(String url) throws SQLException
OracleCommonDataSource
setURL
in interface OracleCommonDataSource
url
- URL to be set.SQLException
public void setServerName(String serverName) throws SQLException
setServerName
in interface OracleCommonDataSource
serverName
- Database server name to be set.SQLException
public String getServerName()
getServerName
in interface OracleCommonDataSource
public void setPortNumber(int portNumber) throws SQLException
setPortNumber
in interface OracleCommonDataSource
portNumber
- Database port number to be set.SQLException
public int getPortNumber()
getPortNumber
in interface OracleCommonDataSource
public void setDatabaseName(String databaseName) throws SQLException
setDatabaseName
in interface OracleCommonDataSource
databaseName
- Database name to be set.SQLException
public String getDatabaseName()
getDatabaseName
in interface OracleCommonDataSource
public void setDataSourceName(String dataSourceName) throws SQLException
setDataSourceName
in interface OracleCommonDataSource
dataSourceName
- data source name to be set.SQLException
public String getDataSourceName()
getDataSourceName
in interface OracleCommonDataSource
public void setDescription(String description) throws SQLException
setDescription
in interface OracleCommonDataSource
description
- data source description to be set.SQLException
public String getDescription()
getDescription
in interface OracleCommonDataSource
public void setNetworkProtocol(String networkProtocol) throws SQLException
setNetworkProtocol
in interface OracleCommonDataSource
networkProtocol
- datasource networkProtocol to be set.SQLException
public String getNetworkProtocol()
getNetworkProtocol
in interface OracleCommonDataSource
public void setRoleName(String roleName) throws SQLException
setRoleName
in interface OracleCommonDataSource
setRoleName
in interface OracleDataSource
roleName
- datasource role name to be set.SQLException
public String getRoleName()
getRoleName
in interface OracleCommonDataSource
getRoleName
in interface OracleDataSource
public void registerConnectionInitializationCallback(oracle.jdbc.replay.internal.ConnectionInitializationCallback cbk) throws SQLException
registerConnectionInitializationCallback
in interface OracleDataSource
cbk
- The ConnectionInitializationCallback to be registered.SQLException
- If the argument is null or callback registration fails.public void unregisterConnectionInitializationCallback(oracle.jdbc.replay.internal.ConnectionInitializationCallback cbk) throws SQLException
unregisterConnectionInitializationCallback
in interface OracleDataSource
cbk
- The ConnectionInitializationCallback
object to be unregistered.SQLException
- If callback removal fails.public oracle.jdbc.replay.internal.ConnectionInitializationCallback getConnectionInitializationCallback()
OracleDataSource
getConnectionInitializationCallback
in interface OracleDataSource
ConnectionInitializationCallback
, or null if there is no callback registered.public Properties getConnectionProperties()
getConnectionProperties
in interface OracleCommonDataSource
public String getConnectionProperty(String propertyName)
getConnectionProperty
in interface OracleDataSource
propertyName
- The name of the specified property.public void setConnectionProperty(String name, String value) throws SQLException
setConnectionProperty
in interface OracleDataSource
name
- The name of the connection property to be set.value
- The value of the connection property to be set.SQLException
- If any exception occurred while setting the connection property.setConnectionProperties(java.util.Properties)
public void setConnectionProperties(Properties connProperties) throws SQLException
setConnectionProperties
in interface OracleCommonDataSource
connectionProperties
- Connection properties to be set.SQLException
- If any exception occurred while setting the connection properties.OracleConnection
public void setMaxStatements(int max) throws SQLException
setMaxStatements
in interface OracleCommonDataSource
setMaxStatements
in interface OracleDataSource
max
- Requested size of the cache. If the existing cache size is less than max, statements will be purged to reduce the size.SQLException
- if max < 0public int getMaxStatements() throws SQLException
getMaxStatements
in interface OracleCommonDataSource
getMaxStatements
in interface OracleDataSource
SQLException
public void setImplicitCachingEnabled(boolean cache) throws SQLException
setImplicitCachingEnabled
in interface OracleCommonDataSource
setImplicitCachingEnabled
in interface OracleDataSource
cache
- If true, then implicit caching is enabled. If false, then any existing statement is purged and the implicit caching is disabled.SQLException
public boolean getImplicitCachingEnabled() throws SQLException
getImplicitCachingEnabled
in interface OracleCommonDataSource
getImplicitCachingEnabled
in interface OracleDataSource
SQLException
public void setExplicitCachingEnabled(boolean cache) throws SQLException
setExplicitCachingEnabled
in interface OracleCommonDataSource
setExplicitCachingEnabled
in interface OracleDataSource
cache
- If true, then explicit caching is enabled. If false, then any existing statement is purged and the explicit caching is disabled.SQLException
- if called on a logical connection.public boolean getExplicitCachingEnabled() throws SQLException
getExplicitCachingEnabled
in interface OracleCommonDataSource
getExplicitCachingEnabled
in interface OracleDataSource
SQLException
public ReplayStatistics getReplayStatistics()
OracleDataSource
getReplayStatistics
in interface OracleDataSource
public void clearDoneDumpOnMemoryPressure()
clearDoneDumpOnMemoryPressure
in interface oracle.jdbc.replay.internal.OracleDataSource
public String getReplayStatisticsString()
getReplayStatisticsString
in interface oracle.jdbc.replay.internal.OracleDataSource
public void clearReplayStatistics()
OracleDataSource
clearReplayStatistics
in interface OracleDataSource
public Reference getReference() throws NamingException
getReference
in interface Referenceable
NamingException
public Object getObjectInstance(Object refObj, Name name, Context nameCtx, Hashtable<?,?> env) throws Exception
getObjectInstance
in interface ObjectFactory
Exception
public boolean isWrapperFor(Class<?> iface) throws SQLException
isWrapperFor
in interface Wrapper
iface
- Requested interface.SQLException
- If the argument is not an interface.public <T> T unwrap(Class<T> iface) throws SQLException
unwrap
in interface Wrapper
iface
- Requested interface.SQLException
- If this does not implement the arg or the arg is not an interface.public Logger getParentLogger() throws SQLFeatureNotSupportedException
getParentLogger
in interface CommonDataSource
SQLFeatureNotSupportedException
public void updateReplayStatistics(oracle.jdbc.replay.internal.ReplayStatistics newStats)
updateReplayStatistics
in interface oracle.jdbc.replay.internal.OracleDataSource
public int getRequestSizeLimit() throws SQLException
getRequestSizeLimit
in interface oracle.jdbc.replay.internal.OracleDataSource
SQLException
public oracle.jdbc.proxy.ProxyFactory getProxyFactory() throws SQLException
getProxyFactory
in interface oracle.jdbc.replay.internal.OracleDataSource
SQLException
public OracleConnectionBuilderImpl createConnectionBuilder()
createConnectionBuilder
in interface DataSource
createConnectionBuilder
in interface OracleDataSource
public final void setSSLContext(SSLContext sslContext)
OracleCommonDataSource
SSLContext
to use as a factory for SSLEngine objects that carry out the TLS protocol.
The SSLContext must be initialized before establishing a connection to the data source. The certificates specified by that initialization will be used in place of any connection properties that would otherwise have specified certificates, such as key store and trust store property values.
Specifying a null value will clear any non-null value that may have been set previously, causing this data source to behave as if this method had never been called at all.
setSSLContext
in interface OracleCommonDataSource
sslContext
- An SSLContext to use as an SSLEngine factory.