Oracle JDBC API Reference
11g Release 2 ("11.2.0.3.0")

oracle.jdbc.pool
Class OraclePooledConnection

java.lang.Object
  extended by oracle.jdbc.pool.OraclePooledConnection
All Implemented Interfaces:
java.io.Serializable, javax.sql.PooledConnection
Direct Known Subclasses:
OracleXAConnection

public class OraclePooledConnection
extends java.lang.Object
implements javax.sql.PooledConnection, java.io.Serializable

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

Field Summary
static java.lang.String BUILD_DATE
           
 java.util.Properties cachedConnectionAttributes
           
static java.lang.String close_callback_string
           
 int closeOption
           
static java.lang.String connect_auto_commit_string
           
static java.lang.String connection_properties_string
           
static java.lang.String event_listener_string
           
static java.lang.String explicit_caching_enabled
           
static java.lang.String ExplicitStatementCachingEnabled
           
static java.lang.String implicit_caching_enabled
           
static java.lang.String ImplicitStatementCachingEnabled
           
static java.lang.String isClearMetaData
           
static java.lang.String LoginTimeout
           
static java.lang.String object_type_map
           
static java.lang.String pool_auto_commit_string
           
static java.lang.String private_data
           
static java.lang.String sql_exception_string
           
static java.lang.String statement_cache_size
           
static boolean TRACE
           
static java.lang.String transaction_isolation
           
 java.util.Properties unMatchedCachedConnAttr
           
static java.lang.String url_string
           
 
Constructor Summary
OraclePooledConnection()
           
OraclePooledConnection(java.sql.Connection pc)
           Create a Pooled Connection.
OraclePooledConnection(java.sql.Connection pc, boolean ac)
           Create a Pooled Connection.
OraclePooledConnection(java.lang.String url)
           Creates a PooledConnection.
OraclePooledConnection(java.lang.String url, java.lang.String user, java.lang.String passwd)
           Creates a PooledConnection.
 
Method Summary
 void addConnectionEventListener(javax.sql.ConnectionEventListener cel)
           Add an event listener.
 void close()
          Close the physical connection.
 java.sql.CallableStatement getCallWithKey(java.lang.String key)
          getCallWithKey Searches the explicit cache for a match on key.
 java.sql.Connection getConnection()
          Create an object handle for this physical connection.
 boolean getExplicitCachingEnabled()
          getExplicitCachingEnabled Returns true if the explicit cache is currently enabled, false otherwise.
 boolean getImplicitCachingEnabled()
          getImplicitCachingEnabled Returns true if the implicit cache is currently enabled, false otherwise.
 long getLastAccessedTime()
          Get the last accessed time on the PooledConnection.
 java.sql.Connection getLogicalHandle()
          Return the logical handle to the caller.
 java.sql.Connection getPhysicalHandle()
           
 int getStatementCacheSize()
          getStatementCacheSize Returns the current size of the application cache.
 java.sql.PreparedStatement getStatementWithKey(java.lang.String key)
          getStatementWithKey Searches the explicit cache for a match on key.
 int getStmtCacheSize()
          Deprecated.  
 javax.transaction.xa.XAResource getXAResource()
          Return an XA resource to the caller.
 boolean isStatementCacheInitialized()
           
 void purgeExplicitCache()
          purgeExplicitCache Removes all existing statements from the explicit cache, after which it will be empty.
 void purgeImplicitCache()
          purgeImplicitCache Removes all existing statements from the implicit cache, after which it will be empty.
 void registerImplicitCacheConnectionEventListener(javax.sql.ConnectionEventListener cel)
           Register an event listener for the implicit connection cache.
 void removeConnectionEventListener(javax.sql.ConnectionEventListener cel)
           Remove an event listener.
 void setExplicitCachingEnabled(boolean cache)
          setExplicitCachingEnabled Enables or disables the explicit cache.
 void setImplicitCachingEnabled(boolean cache)
          setImplicitCachingEnabled Enables or disables the implicit cache.
 void setLastAccessedTime(long lastAccessedTime)
          Set the last accessed time on the PooledConnection.
 void setProperties(java.util.Hashtable prop)
           
 void setStatementCacheSize(int size)
          setStatementCacheSize Specifies the size of the size of the application cache (which will be used by both implicit and explicit caching).
 void setStmtCacheSize(int size)
          Deprecated.  
 void setStmtCacheSize(int size, boolean clearMetaData)
          Deprecated.  
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

url_string

public static final java.lang.String url_string
See Also:
Constant Field Values

pool_auto_commit_string

public static final java.lang.String pool_auto_commit_string
See Also:
Constant Field Values

object_type_map

public static final java.lang.String object_type_map
See Also:
Constant Field Values

transaction_isolation

public static final java.lang.String transaction_isolation
See Also:
Constant Field Values

statement_cache_size

public static final java.lang.String statement_cache_size
See Also:
Constant Field Values

isClearMetaData

public static final java.lang.String isClearMetaData
See Also:
Constant Field Values

ImplicitStatementCachingEnabled

public static final java.lang.String ImplicitStatementCachingEnabled
See Also:
Constant Field Values

ExplicitStatementCachingEnabled

public static final java.lang.String ExplicitStatementCachingEnabled
See Also:
Constant Field Values

LoginTimeout

public static final java.lang.String LoginTimeout
See Also:
Constant Field Values

connect_auto_commit_string

public static final java.lang.String connect_auto_commit_string
See Also:
Constant Field Values

implicit_caching_enabled

public static final java.lang.String implicit_caching_enabled
See Also:
Constant Field Values

explicit_caching_enabled

public static final java.lang.String explicit_caching_enabled
See Also:
Constant Field Values

connection_properties_string

public static final java.lang.String connection_properties_string
See Also:
Constant Field Values

event_listener_string

public static final java.lang.String event_listener_string
See Also:
Constant Field Values

sql_exception_string

public static final java.lang.String sql_exception_string
See Also:
Constant Field Values

close_callback_string

public static final java.lang.String close_callback_string
See Also:
Constant Field Values

private_data

public static final java.lang.String private_data
See Also:
Constant Field Values

cachedConnectionAttributes

public java.util.Properties cachedConnectionAttributes

unMatchedCachedConnAttr

public java.util.Properties unMatchedCachedConnAttr

closeOption

public int closeOption

BUILD_DATE

public static final java.lang.String BUILD_DATE
See Also:
Constant Field Values

TRACE

public static final boolean TRACE
See Also:
Constant Field Values
Constructor Detail

OraclePooledConnection

public OraclePooledConnection()

OraclePooledConnection

public OraclePooledConnection(java.lang.String url)
                       throws java.sql.SQLException

Creates a PooledConnection.

Parameters:
url - URL of the physical connection.
Throws:
java.sql.SQLException

OraclePooledConnection

public OraclePooledConnection(java.lang.String url,
                              java.lang.String user,
                              java.lang.String passwd)
                       throws java.sql.SQLException

Creates a PooledConnection.

Parameters:
url - URL of the physical connection.
user - User Name
passwd - Password
Throws:
java.sql.SQLException

OraclePooledConnection

public OraclePooledConnection(java.sql.Connection pc)

Create a Pooled Connection.

Parameters:
pc - The corresponding physical connection.

OraclePooledConnection

public OraclePooledConnection(java.sql.Connection pc,
                              boolean ac)

Create a Pooled Connection.

Parameters:
pc - The corresponding physical connection
ac - autoCommit value
Method Detail

addConnectionEventListener

public void addConnectionEventListener(javax.sql.ConnectionEventListener cel)

Add an event listener.

Specified by:
addConnectionEventListener in interface javax.sql.PooledConnection
Parameters:
cel - The listener to be added

close

public void close()
           throws java.sql.SQLException

Close the physical connection.

Specified by:
close in interface javax.sql.PooledConnection
Throws:
java.sql.SQLException - if a database-access error occurs.

getConnection

public java.sql.Connection getConnection()
                                  throws java.sql.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:
getConnection in interface javax.sql.PooledConnection
Returns:
a Connection object
Throws:
java.sql.SQLException - if a database-access error occurs.

getLogicalHandle

public java.sql.Connection getLogicalHandle()
                                     throws java.sql.SQLException

Return the logical handle to the caller. This logical handle refers to the physical connection that is pooled.

Returns:
a Connection object
Throws:
java.sql.SQLException

getPhysicalHandle

public java.sql.Connection getPhysicalHandle()
                                      throws java.sql.SQLException
Throws:
java.sql.SQLException

setLastAccessedTime

public void setLastAccessedTime(long lastAccessedTime)
                         throws java.sql.SQLException

Set the last accessed time on the PooledConnection. This is used by the inactivity timeout thread

Parameters:
lastAccessedTime, - last accessed time in milliseconds
Throws:
java.sql.SQLException

getLastAccessedTime

public long getLastAccessedTime()
                         throws java.sql.SQLException

Get the last accessed time on the PooledConnection. This is used by the inactivity timeout thread

Returns:
long (milliseconds)
Throws:
java.sql.SQLException

removeConnectionEventListener

public void removeConnectionEventListener(javax.sql.ConnectionEventListener cel)

Remove an event listener.

Specified by:
removeConnectionEventListener in interface javax.sql.PooledConnection
Parameters:
cel - The listener to be removed.

registerImplicitCacheConnectionEventListener

public void registerImplicitCacheConnectionEventListener(javax.sql.ConnectionEventListener cel)

Register an event listener for the implicit connection cache.

Parameters:
cel - The listener to be registered

setStmtCacheSize

public void setStmtCacheSize(int size)
                      throws java.sql.SQLException
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 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 size is the total number of cursors cached for both the schemes together.

Parameters:
size - Size of the Cache
Throws:
java.sql.SQLException

setStmtCacheSize

public void setStmtCacheSize(int size,
                             boolean clearMetaData)
                      throws java.sql.SQLException
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 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 size is the total number of cursors cached for both the schemes together.

Parameters:
size - Size of the Cache
clearMetaData - Whether the state has to be cleared or not
Throws:
java.sql.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 java.sql.SQLException
setStatementCacheSize Specifies the size of the size of the application cache (which will be used by both implicit and explicit caching).

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:
java.sql.SQLException - if size < 0, or if called on a logical connection.

getStatementCacheSize

public int getStatementCacheSize()
                          throws java.sql.SQLException
getStatementCacheSize Returns the current size of the application cache. This is valid on both physical and logical connections.

Throws:
java.sql.SQLException

setImplicitCachingEnabled

public void setImplicitCachingEnabled(boolean cache)
                               throws java.sql.SQLException
setImplicitCachingEnabled Enables or disables the implicit cache. Note that this is independent of the cache size, set with setStatmentCacheSize().

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:
java.sql.SQLException - if called on a logical connection.

getImplicitCachingEnabled

public boolean getImplicitCachingEnabled()
                                  throws java.sql.SQLException
getImplicitCachingEnabled Returns true if the implicit cache is currently enabled, false otherwise. This method is valid on both logical and physical connections.

Throws:
java.sql.SQLException

setExplicitCachingEnabled

public void setExplicitCachingEnabled(boolean cache)
                               throws java.sql.SQLException
setExplicitCachingEnabled Enables or disables the explicit cache. Note that this is independent of the cache size, set with setStatmentCacheSize().

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:
java.sql.SQLException - if called on a logical connection.

getExplicitCachingEnabled

public boolean getExplicitCachingEnabled()
                                  throws java.sql.SQLException
getExplicitCachingEnabled Returns true if the explicit cache is currently enabled, false otherwise. This method is valid on both logical and physical connections.

Throws:
java.sql.SQLException

purgeImplicitCache

public void purgeImplicitCache()
                        throws java.sql.SQLException
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.

Throws:
java.sql.SQLException

purgeExplicitCache

public void purgeExplicitCache()
                        throws java.sql.SQLException
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.

Throws:
java.sql.SQLException

getStatementWithKey

public java.sql.PreparedStatement getStatementWithKey(java.lang.String key)
                                               throws java.sql.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.

Parameters:
key - Specified key to search for
Throws:
java.sql.SQLException

getCallWithKey

public java.sql.CallableStatement getCallWithKey(java.lang.String key)
                                          throws java.sql.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.

Parameters:
key - Specified key to search for
Throws:
java.sql.SQLException

isStatementCacheInitialized

public boolean isStatementCacheInitialized()

setProperties

public final void setProperties(java.util.Hashtable prop)

getXAResource

public javax.transaction.xa.XAResource getXAResource()
                                              throws java.sql.SQLException
Return an XA resource to the caller. This is just a placeholder. Only the one on XAConnection is meaningful.

Returns:
the XAResource (null if error occurs)
Throws:
java.sql.SQLException - if a database error occurs

Oracle JDBC API Reference
11g Release 2 ("11.2.0.3.0")

Copyright © 1998, 2007, Oracle. All rights reserved.