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:
java.lang.reflect.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()java.lang.Objectinvoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)Gets invoked each time an operation onConnectionis invoked.booleanisClosed()booleanisWrapperFor(java.lang.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)java.lang.StringtoString()java.lang.Objectunwrap(java.lang.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(java.lang.Class<?> iface)
-
unwrap
public java.lang.Object unwrap(java.lang.Class<?> iface) throws java.sql.SQLException- Throws:
java.sql.SQLException
-
invoke
public java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.ThrowableDescription copied from class:JdbcInterceptorGets invoked each time an operation onConnectionis invoked.- Specified by:
invokein interfacejava.lang.reflect.InvocationHandler- Overrides:
invokein classJdbcInterceptor- Throws:
java.lang.Throwable
-
isClosed
public boolean isClosed()
-
getDelegateConnection
public PooledConnection getDelegateConnection()
-
getParentPool
public ConnectionPool getParentPool()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-