Class OraclePooledConnection
- All Implemented Interfaces:
Serializable,PooledConnection,OraclePooledConnection,oracle.jdbc.diagnostics.Diagnosable,oracle.jdbc.diagnostics.PropertyChangeListener,oracle.jdbc.internal.Monitor
- Direct Known Subclasses:
OracleXAConnection
An OraclePooledConnection object is a connection object that provides hooks for connection pool management. A PooledConnection object represents a physical connection to a data source. It implements javax.sql.PooledConnection
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface oracle.jdbc.internal.Monitor
oracle.jdbc.internal.Monitor.CloseableLock, oracle.jdbc.internal.Monitor.WaitableMonitor -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanstatic final Stringintstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringprotected oracle.jdbc.internal.OracleConnectionstatic final Stringstatic final Stringstatic final Stringprotected oracle.jdbc.driver.OracleDriverprotected oracle.jdbc.internal.OracleConnectionstatic final Stringstatic final Stringprotected oracle.jdbc.internal.OracleConnectionstatic final Stringstatic final Stringstatic final Stringstatic final String -
Constructor Summary
ConstructorsConstructorDescriptionCreates a PooledConnection.OraclePooledConnection(String url, String user, String passwd) Creates a PooledConnection.Create a Pooled Connection.OraclePooledConnection(Connection pc, boolean ac) Create a Pooled Connection. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd an event listener.voidvoidclose()Close the physical connection.getCallWithKey(String key) getCallWithKey Searches the explicit cache for a match on key.Create an object handle for this physical connection.protected oracle.jdbc.internal.OracleConnectionoracle.jdbc.diagnostics.DiagnosablebooleangetExplicitCachingEnabled Returns true if the explicit cache is currently enabled, false otherwise.booleangetImplicitCachingEnabled Returns true if the implicit cache is currently enabled, false otherwise.longDeprecated.Return the logical handle to the caller.final oracle.jdbc.internal.Monitor.CloseableLockintgetStatementCacheSize Returns the current size of the application cache.getStatementWithKey Searches the explicit cache for a match on key.intDeprecated.Return an XA resource to the caller.booleanvoidpurgeExplicitCache Removes all existing statements from the explicit cache, after which it will be empty.voidpurgeImplicitCache Removes all existing statements from the implicit cache, after which it will be empty.voidDeprecated.voidRemove an event listener.voidvoidsetConnection(oracle.jdbc.internal.OracleConnection rconn) voidsetExplicitCachingEnabled(boolean cache) setExplicitCachingEnabled Enables or disables the explicit cache.voidsetImplicitCachingEnabled(boolean cache) setImplicitCachingEnabled Enables or disables the implicit cache.voidsetLastAccessedTime(long lastAccessedTime) Deprecated.final voidsetProperties(Hashtable prop) voidsetShardingKey(OracleShardingKey shardingKey, OracleShardingKey superShardingKey) Sets the sharding key and the super sharding key on this connection.booleansetShardingKeyIfValid(OracleShardingKey shardingKey, OracleShardingKey superShardingKey, int timeout) Checks the validity of the connection and also checks if the sharding keys passed to this method are valid for the connection.If the sharding keys are valid, it will be set on the connection's session.voidsetStatementCacheSize(int size) setStatementCacheSize Specifies the size of the size of the application cache (which will be used by both implicit and explicit caching).voidsetStmtCacheSize(int size) Deprecated.voidsetStmtCacheSize(int size, boolean clearMetaData) Deprecated.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface oracle.jdbc.diagnostics.Diagnosable
begin, beginCurrentSql, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debugp, end, endCurrentSql, format, isDebugEnabled, isDiagnoseFirstFailureEnabled, isLoggable, isSensitiveEnabled, onClose, propertyChange, resumeLogging, secure, suspendLogging, trace, tracepMethods inherited from interface oracle.jdbc.internal.Monitor
acquireCloseableLock, acquireLock, assertLockHeldByCurrentThread, isReentrantLock, releaseLock
-
Field Details
-
url_string
- See Also:
-
pool_auto_commit_string
- See Also:
-
object_type_map
- See Also:
-
transaction_isolation
- See Also:
-
statement_cache_size
- See Also:
-
isClearMetaData
- See Also:
-
ImplicitStatementCachingEnabled
- See Also:
-
ExplicitStatementCachingEnabled
- See Also:
-
LoginTimeout
- See Also:
-
connect_auto_commit_string
- See Also:
-
implicit_caching_enabled
- See Also:
-
explicit_caching_enabled
- See Also:
-
connection_properties_string
- See Also:
-
event_listener_string
- See Also:
-
sql_exception_string
- See Also:
-
close_callback_string
- See Also:
-
private_data
- See Also:
-
autoCommit
protected boolean autoCommit -
logicalHandle
protected transient oracle.jdbc.internal.OracleConnection logicalHandle -
physicalConn
protected transient oracle.jdbc.internal.OracleConnection physicalConn -
replayConn
protected transient oracle.jdbc.internal.OracleConnection replayConn -
closeOption
public int closeOption -
oracleDriver
protected transient oracle.jdbc.driver.OracleDriver oracleDriver -
NO_IMPLICIT_BEGIN_REQUEST_PROPERTY
- See Also:
-
-
Constructor Details
-
OraclePooledConnection
public OraclePooledConnection() -
OraclePooledConnection
Creates a PooledConnection.
- Parameters:
url- URL of the physical connection.- Throws:
SQLException
-
OraclePooledConnection
Creates a PooledConnection.
- Parameters:
url- URL of the physical connection.user- Usernamepasswd- Password- Throws:
SQLException
-
OraclePooledConnection
Create a Pooled Connection.
- Parameters:
pc- The corresponding physical connection.
-
OraclePooledConnection
Create a Pooled Connection.
- Parameters:
pc- The corresponding physical connectionac- autoCommit value
-
-
Method Details
-
addConnectionEventListener
Add an event listener.
- Specified by:
addConnectionEventListenerin interfacePooledConnection- Parameters:
cel- The listener to be added
-
close
Close the physical connection.
- Specified by:
closein interfacePooledConnection- Throws:
SQLException- if a database-access error occurs.
-
getConnection
Create an object handle for this physical connection. The object returned is a temporary handle used by application code to refer to a physical connection that is being pooled.
- Specified by:
getConnectionin interfacePooledConnection- Returns:
- a Connection object
- Throws:
SQLException- if a database-access error occurs.
-
getLogicalHandle
Return the logical handle to the caller. This logical handle refers to the physical connection that is pooled.
- Specified by:
getLogicalHandlein interfaceOraclePooledConnection- Returns:
- a Connection object
- Throws:
SQLException
-
getPhysicalHandle
- Throws:
SQLException
-
setLastAccessedTime
Deprecated.- Specified by:
setLastAccessedTimein interfaceOraclePooledConnection- Throws:
SQLException
-
getLastAccessedTime
Deprecated.- Specified by:
getLastAccessedTimein interfaceOraclePooledConnection- Throws:
SQLException
-
registerImplicitCacheConnectionEventListener
Deprecated.- Specified by:
registerImplicitCacheConnectionEventListenerin interfaceOraclePooledConnection
-
removeConnectionEventListener
Remove an event listener.
- Specified by:
removeConnectionEventListenerin interfacePooledConnection- Parameters:
cel- The listener to be removed.
-
setStmtCacheSize
Deprecated.Set the statement cache size. Default is 0. You cannot call this for logicalhandles obtained from PooledConnections.If more than
size cursors are already cached than they will be closed. By default, the metadata of the cursor will be saved. Only data and the state will be cleared. You need to call this first to enable either type of Statement caching. When both types of Statement caching are enabled, thesize is the total number of cursors cached for both the schemes together. - Parameters:
size- Size of the Cache- Throws:
SQLException
-
setStmtCacheSize
Deprecated.Set the statement cache size. Default is 0. You cannot call this for logicalhandles obtained from PooledConnections.If more than
size cursors are already cached than they will be closed. By default, the metadata of the cursor will be saved. But if clearMetaData is set to true, even that will be cleared. You need to call this first to enable either type of Statement caching. When both types of Statement caching are enabled, thesize is the total number of cursors cached for both the schemes together. - Parameters:
size- Size of the CacheclearMetaData- Whether the state has to be cleared or not- Throws:
SQLException
-
getStmtCacheSize
public int getStmtCacheSize()Deprecated.Return the size of Statement Cache.- Returns:
- int Size of Statement Cache. If not set, the default 0 is returned.
-
setStatementCacheSize
setStatementCacheSize Specifies the size of the size of the application cache (which will be used by both implicit and explicit caching).- Specified by:
setStatementCacheSizein interfaceOraclePooledConnection- Parameters:
size- Requested size of the cache. If the existing cache size is less than size, statements will be purged to reduce the size.- Throws:
SQLException- if size < 0, or if called on a logical connection.
-
getStatementCacheSize
getStatementCacheSize Returns the current size of the application cache. This is valid on both physical and logical connections.- Specified by:
getStatementCacheSizein interfaceOraclePooledConnection- Throws:
SQLException
-
setImplicitCachingEnabled
setImplicitCachingEnabled Enables or disables the implicit cache. Note that this is independent of the cache size, set with setStatementCacheSize().- Specified by:
setImplicitCachingEnabledin interfaceOraclePooledConnection- Parameters:
cache- If true, then implicit caching will be enabled. If false, then any existing statements will be purged and the implicit cache will be disabled.- Throws:
SQLException- if called on a logical connection.
-
getImplicitCachingEnabled
getImplicitCachingEnabled Returns true if the implicit cache is currently enabled, false otherwise. This method is valid on both logical and physical connections.- Specified by:
getImplicitCachingEnabledin interfaceOraclePooledConnection- Throws:
SQLException
-
setExplicitCachingEnabled
setExplicitCachingEnabled Enables or disables the explicit cache. Note that this is independent of the cache size, set with setStatementCacheSize().- Specified by:
setExplicitCachingEnabledin interfaceOraclePooledConnection- Parameters:
cache- If true, then explicit caching will be enabled. If false, then any existing statements will be purged and the explicit cache will be disabled.- Throws:
SQLException- if called on a logical connection.
-
getExplicitCachingEnabled
getExplicitCachingEnabled Returns true if the explicit cache is currently enabled, false otherwise. This method is valid on both logical and physical connections.- Specified by:
getExplicitCachingEnabledin interfaceOraclePooledConnection- Throws:
SQLException
-
purgeImplicitCache
purgeImplicitCache Removes all existing statements from the implicit cache, after which it will be empty. This method does not affect the size of the application cache, nor the enabled/disabled status.- Specified by:
purgeImplicitCachein interfaceOraclePooledConnection- Throws:
SQLException
-
purgeExplicitCache
purgeExplicitCache Removes all existing statements from the explicit cache, after which it will be empty. This method does not affect the size of the application cache, nor the enabled/disabled status.- Specified by:
purgeExplicitCachein interfaceOraclePooledConnection- Throws:
SQLException
-
getStatementWithKey
getStatementWithKey Searches the explicit cache for a match on key. If found, the statement is returned, with the parameter and define metadata identical to the last usage. If a CallableStatement is found (instead of a PreparedStatement) ORA-17125 is raised. If no match is found, or if explicit caching is not enabled, null is returned.- Specified by:
getStatementWithKeyin interfaceOraclePooledConnection- Parameters:
key- Specified key to search for- Throws:
SQLException
-
getCallWithKey
getCallWithKey Searches the explicit cache for a match on key. If found, the statement is returned, with the parameter and define metadata identical to the last usage. If a PreparedStatement is found (instead of a CallableStatement) ORA-17125 is raised. If no match is found, or if explicit caching is not enabled, null is returned.- Specified by:
getCallWithKeyin interfaceOraclePooledConnection- Parameters:
key- Specified key to search for- Throws:
SQLException
-
isStatementCacheInitialized
public boolean isStatementCacheInitialized() -
setProperties
-
getXAResource
Return an XA resource to the caller. This is just a placeholder. Only the one on XAConnection is meaningful.- Specified by:
getXAResourcein interfaceOraclePooledConnection- Returns:
- the XAResource (null if error occurs)
- Throws:
SQLException- if a database error occurs
-
addStatementEventListener
- Specified by:
addStatementEventListenerin interfacePooledConnection
-
removeStatementEventListener
- Specified by:
removeStatementEventListenerin interfacePooledConnection
-
setConnection
- Throws:
SQLException
-
setShardingKeyIfValid
public boolean setShardingKeyIfValid(OracleShardingKey shardingKey, OracleShardingKey superShardingKey, int timeout) throws SQLException Checks the validity of the connection and also checks if the sharding keys passed to this method are valid for the connection.If the sharding keys are valid, it will be set on the connection's session.- Specified by:
setShardingKeyIfValidin interfaceOraclePooledConnection- Parameters:
shardingKey- Sharding key to be validated against this connectionsuperShardingKey- Super Sharding key to be validated against this connectiontimeout- Time in seconds before which the validation process is expected to be complete, else the validation process is aborted. The value of the timeout must be set to zero to disable the timeout during the validation.- Returns:
- true if the connection is valid and the shard keys are valid to be set on this connection.
- Throws:
SQLException- if there is any exception while performing this validation or if timeout value is less than 0.
-
setShardingKey
public void setShardingKey(OracleShardingKey shardingKey, OracleShardingKey superShardingKey) throws SQLException Sets the sharding key and the super sharding key on this connection.- Specified by:
setShardingKeyin interfaceOraclePooledConnection- Parameters:
shardingKey- sharding key to be set on this connectionsuperShardingKey- Super Sharding key to be set on this connection- Throws:
SQLException- if there is an exception while setting the sharding keys on this connection.
-
getConnectionDuringExceptionHandling
protected oracle.jdbc.internal.OracleConnection getConnectionDuringExceptionHandling() -
getMonitorLock
public final oracle.jdbc.internal.Monitor.CloseableLock getMonitorLock()- Specified by:
getMonitorLockin interfaceoracle.jdbc.internal.Monitor
-
getDiagnosable
public oracle.jdbc.diagnostics.Diagnosable getDiagnosable()- Specified by:
getDiagnosablein interfaceoracle.jdbc.diagnostics.Diagnosable
-