Package org.apache.tomcat.jdbc.pool
Class ProxyConnection
- java.lang.Object
-
- org.apache.tomcat.jdbc.pool.JdbcInterceptor
-
- org.apache.tomcat.jdbc.pool.ProxyConnection
-
- All Implemented Interfaces:
InvocationHandler
public class ProxyConnection extends JdbcInterceptor
A ProxyConnection object is the bottom most interceptor that wraps an object of typePooledConnection. The ProxyConnection intercepts three methods:Connection.close()- returns the connection to the pool. May be called multiple times.Object.toString()- returns a custom string for this objectPooledConnection.getConnection()- returns the underlying connection
PoolConfiguration.setUseEquals(boolean)has been called with atrueargument.
-
-
Field Summary
Fields Modifier and Type Field Description protected PooledConnectionconnectionprotected ConnectionPoolpool-
Fields inherited from class org.apache.tomcat.jdbc.pool.JdbcInterceptor
CLOSE_VAL, EQUALS_VAL, GETCONNECTION_VAL, HASHCODE_VAL, ISCLOSED_VAL, ISVALID_VAL, ISWRAPPERFOR_VAL, properties, TOSTRING_VAL, UNWRAP_VAL
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedProxyConnection(ConnectionPool parent, PooledConnection con, boolean useEquals)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PooledConnectiongetConnection()PooledConnectiongetDelegateConnection()ConnectionPoolgetParentPool()ConnectionPoolgetPool()Objectinvoke(Object proxy, Method method, Object[] args)Gets invoked each time an operation onConnectionis invoked.booleanisClosed()booleanisWrapperFor(Class<?> iface)voidreset(ConnectionPool parent, PooledConnection con)Gets called each time the connection is borrowed from the pool This means that if an interceptor holds a reference to the connection the interceptor can be reused for another connection.voidsetConnection(PooledConnection connection)voidsetPool(ConnectionPool pool)StringtoString()Objectunwrap(Class<?> iface)-
Methods inherited from class org.apache.tomcat.jdbc.pool.JdbcInterceptor
compare, compare, disconnected, getNext, getProperties, isUseEquals, poolClosed, poolStarted, setNext, setProperties, setUseEquals
-
-
-
-
Field Detail
-
connection
protected PooledConnection connection
-
pool
protected ConnectionPool pool
-
-
Constructor Detail
-
ProxyConnection
protected ProxyConnection(ConnectionPool parent, PooledConnection con, boolean useEquals)
-
-
Method Detail
-
getConnection
public PooledConnection getConnection()
-
setConnection
public void setConnection(PooledConnection connection)
-
getPool
public ConnectionPool getPool()
-
setPool
public void setPool(ConnectionPool pool)
-
reset
public void reset(ConnectionPool parent, PooledConnection con)
Description copied from class:JdbcInterceptorGets called each time the connection is borrowed from the pool This means that if an interceptor holds a reference to the connection the interceptor can be reused for another connection.
This method may be called with null as both arguments when we are closing down the connection.- Specified by:
resetin classJdbcInterceptor- Parameters:
parent- - the connection pool owning the connectioncon- - the pooled connection
-
isWrapperFor
public boolean isWrapperFor(Class<?> iface)
-
unwrap
public Object unwrap(Class<?> iface) throws SQLException
- Throws:
SQLException
-
invoke
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
Description copied from class:JdbcInterceptorGets invoked each time an operation onConnectionis invoked.- Specified by:
invokein interfaceInvocationHandler- Overrides:
invokein classJdbcInterceptor- Throws:
Throwable
-
isClosed
public boolean isClosed()
-
getDelegateConnection
public PooledConnection getDelegateConnection()
-
getParentPool
public ConnectionPool getParentPool()
-
-