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 and Description |
---|
OracleDataSourceImpl() |
Modifier and Type | Method and Description |
---|---|
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() |
protected Connection |
getConnection(OracleConnectionBuilderImpl connBldr) |
Connection |
getConnection(String username, String passwd)
Attempts to obtain a database connection with the specified user and password.
|
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 |
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.
|
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 boolean isStateRestorationEnabled
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
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
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
SQLException
public void setLogWriter(PrintWriter out) throws SQLException
setLogWriter
in interface CommonDataSource
SQLException
public void setLoginTimeout(int seconds) throws SQLException
setLoginTimeout
in interface CommonDataSource
SQLException
public int getLoginTimeout() throws SQLException
getLoginTimeout
in interface CommonDataSource
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
roleName
- datasource role name to be set.SQLException
public String getRoleName()
getRoleName
in interface OracleCommonDataSource
public void registerConnectionInitializationCallback(oracle.jdbc.replay.internal.ConnectionInitializationCallback cbk) throws SQLException
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
cbk
- The ConnectionInitializationCallback
object to be unregistered.SQLException
- If callback removal fails.public oracle.jdbc.replay.internal.ConnectionInitializationCallback getConnectionInitializationCallback()
OracleDataSource
ConnectionInitializationCallback
, or null if there is no callback registered.public Properties getConnectionProperties()
getConnectionProperties
in interface OracleCommonDataSource
public String getConnectionProperty(String propertyName)
propertyName
- The name of the specified property.public void setConnectionProperty(String name, String value) throws SQLException
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
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
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
SQLException
public void setImplicitCachingEnabled(boolean cache) throws SQLException
setImplicitCachingEnabled
in interface OracleCommonDataSource
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
SQLException
public void setExplicitCachingEnabled(boolean cache) throws SQLException
setExplicitCachingEnabled
in interface OracleCommonDataSource
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
SQLException
public ReplayStatistics getReplayStatistics()
OracleDataSource
public void clearReplayStatistics()
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)
public oracle.jdbc.proxy.ProxyFactory getProxyFactory() throws SQLException
SQLException
public OracleConnectionBuilderImpl createConnectionBuilder()
createConnectionBuilder
in interface OracleDataSource