Class OraclePooledConnection
- java.lang.Object
-
- oracle.jdbc.pool.OraclePooledConnection
-
- All Implemented Interfaces:
Serializable,PooledConnection,OraclePooledConnection,oracle.jdbc.internal.Monitor
- Direct Known Subclasses:
OracleXAConnection
public class OraclePooledConnection extends Object implements OraclePooledConnection, Serializable, oracle.jdbc.internal.Monitor
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:
- Serialized Form
-
<section role="region">
</section>
<section role="region">
-
Field Summary
Fields Modifier and Type Field Description protected booleanautoCommitstatic Stringclose_callback_stringintcloseOptionstatic Stringconnect_auto_commit_stringstatic Stringconnection_properties_stringstatic Stringevent_listener_stringstatic Stringexplicit_caching_enabledstatic StringExplicitStatementCachingEnabledstatic Stringimplicit_caching_enabledstatic StringImplicitStatementCachingEnabledstatic StringisClearMetaDataprotected oracle.jdbc.internal.OracleConnectionlogicalHandlestatic StringLoginTimeoutstatic StringNO_IMPLICIT_BEGIN_REQUEST_PROPERTYstatic Stringobject_type_mapprotected oracle.jdbc.driver.OracleDriveroracleDriverprotected oracle.jdbc.internal.OracleConnectionphysicalConnstatic Stringpool_auto_commit_stringstatic Stringprivate_dataprotected oracle.jdbc.internal.OracleConnectionreplayConnstatic Stringsql_exception_stringstatic Stringstatement_cache_sizestatic Stringtransaction_isolationstatic Stringurl_string
-
Constructor Summary
Constructors Constructor Description OraclePooledConnection()OraclePooledConnection(String url)Creates a PooledConnection.OraclePooledConnection(String url, String user, String passwd)Creates a PooledConnection.OraclePooledConnection(Connection pc)Create a Pooled Connection.OraclePooledConnection(Connection pc, boolean ac)Create a Pooled Connection.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddConnectionEventListener(ConnectionEventListener cel)Add an event listener.voidaddStatementEventListener(StatementEventListener listener)voidclose()Close the physical connection.protected voiddebug(Logger logger, Level level, Executable method, String msg)CallableStatementgetCallWithKey(String key)getCallWithKey Searches the explicit cache for a match on key.ConnectiongetConnection()Create an object handle for this physical connection.protected oracle.jdbc.internal.OracleConnectiongetConnectionDuringExceptionHandling()booleangetExplicitCachingEnabled()getExplicitCachingEnabled Returns true if the explicit cache is currently enabled, false otherwise.booleangetImplicitCachingEnabled()getImplicitCachingEnabled Returns true if the implicit cache is currently enabled, false otherwise.longgetLastAccessedTime()Deprecated.ConnectiongetLogicalHandle()Return the logical handle to the caller.oracle.jdbc.internal.Monitor.CloseableLockgetMonitorLock()ConnectiongetPhysicalHandle()intgetStatementCacheSize()getStatementCacheSize Returns the current size of the application cache.PreparedStatementgetStatementWithKey(String key)getStatementWithKey Searches the explicit cache for a match on key.intgetStmtCacheSize()Deprecated.XAResourcegetXAResource()Return an XA resource to the caller.booleanisStatementCacheInitialized()voidpurgeExplicitCache()purgeExplicitCache Removes all existing statements from the explicit cache, after which it will be empty.voidpurgeImplicitCache()purgeImplicitCache Removes all existing statements from the implicit cache, after which it will be empty.voidregisterImplicitCacheConnectionEventListener(ConnectionEventListener cel)Deprecated.voidremoveConnectionEventListener(ConnectionEventListener cel)Remove an event listener.voidremoveStatementEventListener(StatementEventListener listener)voidsetConnection(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.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.
-
-
<section role="region">
-
Field Detail
-
url_string
public static final String url_string
- See Also:
- Constant Field Values
-
pool_auto_commit_string
public static final String pool_auto_commit_string
- See Also:
- Constant Field Values
-
object_type_map
public static final String object_type_map
- See Also:
- Constant Field Values
-
transaction_isolation
public static final String transaction_isolation
- See Also:
- Constant Field Values
-
statement_cache_size
public static final String statement_cache_size
- See Also:
- Constant Field Values
-
isClearMetaData
public static final String isClearMetaData
- See Also:
- Constant Field Values
-
ImplicitStatementCachingEnabled
public static final String ImplicitStatementCachingEnabled
- See Also:
- Constant Field Values
-
ExplicitStatementCachingEnabled
public static final String ExplicitStatementCachingEnabled
- See Also:
- Constant Field Values
-
LoginTimeout
public static final String LoginTimeout
- See Also:
- Constant Field Values
-
connect_auto_commit_string
public static final String connect_auto_commit_string
- See Also:
- Constant Field Values
-
implicit_caching_enabled
public static final String implicit_caching_enabled
- See Also:
- Constant Field Values
-
explicit_caching_enabled
public static final String explicit_caching_enabled
- See Also:
- Constant Field Values
-
connection_properties_string
public static final String connection_properties_string
- See Also:
- Constant Field Values
-
event_listener_string
public static final String event_listener_string
- See Also:
- Constant Field Values
-
sql_exception_string
public static final String sql_exception_string
- See Also:
- Constant Field Values
-
close_callback_string
public static final String close_callback_string
- See Also:
- Constant Field Values
-
private_data
public static final String private_data
- See Also:
- Constant Field Values
-
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
public static final String NO_IMPLICIT_BEGIN_REQUEST_PROPERTY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
OraclePooledConnection
public OraclePooledConnection()
-
OraclePooledConnection
public OraclePooledConnection(String url) throws SQLException
Creates a PooledConnection.
- Parameters:
url- URL of the physical connection.- Throws:
SQLException
-
OraclePooledConnection
public OraclePooledConnection(String url, String user, String passwd) throws SQLException
Creates a PooledConnection.
- Parameters:
url- URL of the physical connection.user- User Namepasswd- Password- Throws:
SQLException
-
OraclePooledConnection
public OraclePooledConnection(Connection pc)
Create a Pooled Connection.
- Parameters:
pc- The corresponding physical connection.
-
OraclePooledConnection
public OraclePooledConnection(Connection pc, boolean ac)
Create a Pooled Connection.
- Parameters:
pc- The corresponding physical connectionac- autoCommit value
-
-
Method Detail
-
addConnectionEventListener
public void addConnectionEventListener(ConnectionEventListener cel)
Add an event listener.
- Specified by:
addConnectionEventListenerin interfacePooledConnection- Parameters:
cel- The listener to be added
-
close
public void close() throws SQLExceptionClose the physical connection.
- Specified by:
closein interfacePooledConnection- Throws:
SQLException- if a database-access error occurs.
-
getConnection
public Connection getConnection() throws SQLException
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
public Connection getLogicalHandle() throws SQLException
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
public Connection getPhysicalHandle() throws SQLException
- Throws:
SQLException
-
setLastAccessedTime
@Deprecated public void setLastAccessedTime(long lastAccessedTime) throws SQLException
Deprecated.- Specified by:
setLastAccessedTimein interfaceOraclePooledConnection- Throws:
SQLException
-
getLastAccessedTime
@Deprecated public long getLastAccessedTime() throws SQLException
Deprecated.- Specified by:
getLastAccessedTimein interfaceOraclePooledConnection- Throws:
SQLException
-
registerImplicitCacheConnectionEventListener
@Deprecated public void registerImplicitCacheConnectionEventListener(ConnectionEventListener cel)
Deprecated.- Specified by:
registerImplicitCacheConnectionEventListenerin interfaceOraclePooledConnection
-
removeConnectionEventListener
public void removeConnectionEventListener(ConnectionEventListener cel)
Remove an event listener.
- Specified by:
removeConnectionEventListenerin interfacePooledConnection- Parameters:
cel- The listener to be removed.
-
setStmtCacheSize
public void setStmtCacheSize(int size) throws SQLExceptionDeprecated.Set the statement cache size. Default is 0. You cannot call this for logicalhandles obtained from PooledConnections.If more than <it> size </it> cursors are already cached than they will be closed. By default the meta data 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, the <it> size </size> is the total number of cursors cached for both the schemes together.
- Parameters:
size- Size of the Cache- Throws:
SQLException
-
setStmtCacheSize
public void setStmtCacheSize(int size, boolean clearMetaData) throws SQLExceptionDeprecated.Set the statement cache size. Default is 0. You cannot call this for logicalhandles obtained from PooledConnections.If more than <it> size </it> cursors are already cached than they will be closed. By default, the meta data 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, the <it> size </size> 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
public void setStatementCacheSize(int size) throws SQLExceptionsetStatementCacheSize 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
public int getStatementCacheSize() throws SQLExceptiongetStatementCacheSize Returns the current size of the application cache. This is valid on both physical and logical connections.- Specified by:
getStatementCacheSizein interfaceOraclePooledConnection- Throws:
SQLException
-
setImplicitCachingEnabled
public void setImplicitCachingEnabled(boolean cache) throws SQLExceptionsetImplicitCachingEnabled Enables or disables the implicit cache. Note that this is independent of the cache size, set with setStatmentCacheSize().- 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
public boolean getImplicitCachingEnabled() throws SQLExceptiongetImplicitCachingEnabled 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
public void setExplicitCachingEnabled(boolean cache) throws SQLExceptionsetExplicitCachingEnabled Enables or disables the explicit cache. Note that this is independent of the cache size, set with setStatmentCacheSize().- 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
public boolean getExplicitCachingEnabled() throws SQLExceptiongetExplicitCachingEnabled 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
public void purgeImplicitCache() throws SQLExceptionpurgeImplicitCache 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
public void purgeExplicitCache() throws SQLExceptionpurgeExplicitCache 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
public PreparedStatement getStatementWithKey(String key) throws SQLException
getStatementWithKey Searches the explicit cache for a match on key. If found, the statement is returned, with the paramater 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
public CallableStatement getCallWithKey(String key) throws SQLException
getCallWithKey Searches the explicit cache for a match on key. If found, the statement is returned, with the paramater 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
public final void setProperties(Hashtable prop)
-
getXAResource
public XAResource getXAResource() throws SQLException
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
public void addStatementEventListener(StatementEventListener listener)
- Specified by:
addStatementEventListenerin interfacePooledConnection
-
removeStatementEventListener
public void removeStatementEventListener(StatementEventListener listener)
- Specified by:
removeStatementEventListenerin interfacePooledConnection
-
setConnection
public void setConnection(oracle.jdbc.internal.OracleConnection rconn) throws SQLException- 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()
-
debug
protected void debug(Logger logger, Level level, Executable method, String msg)
-
getMonitorLock
public final oracle.jdbc.internal.Monitor.CloseableLock getMonitorLock()
- Specified by:
getMonitorLockin interfaceoracle.jdbc.internal.Monitor
-
-