All Packages Class Hierarchy This Package Previous Next Index
An OracleConnectionCache is an interface one needs to implement if they like to reuse OracleConnectionEventListener and implement their own version of Connection Caching.
By extending DataSource, we would like to leverage the DataSource features such as JNDI and the concept of factory for Connection objects.
Simplifies the design of Cache implementation by shielding the necessity to understand the complexities of JDBC 2.0 Connection pooling 'hooks'. Here are the few basic steps a ConnectionCache class should do to complete the loop:
1) Create a new OracleConnectionEventListener and register the connection Cache as it's argument.
Ex: m_ocel = new OracleConnectionEventListener (this);
2) Register this event listener with new PooledConnections.
Ex: pc.addConnectionEventListener(m_ocel);
3) Deregister the listener when closing the PooledConnection
Ex: pc.removeConnectionEventListener(m_ocel);
Invoked by the ConnectionEventListener when an error occurs on a PooledConnection/LogicalConnection signaling that it is no longer good to be used and can be closed.
Invoked by the ConnectionEventListener instance when Logical connection handles are closed signaling that the PooledConnection can be recycled into the pool for further use.
public abstract void reusePooledConnection(PooledConnection pc) throws SQLException
Invoked by the ConnectionEventListener instance when Logical connection handles are closed signaling that the PooledConnection can be recycled into the pool for further use.
public abstract void closePooledConnection(PooledConnection pc) throws SQLException
Invoked by the ConnectionEventListener when an error occurs on a PooledConnection/LogicalConnection signaling that it is no longer good to be used and can be closed.
public abstract void close() throws SQLException
All Packages Class Hierarchy This Package Previous Next Index