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 atrue
argument.
-
-
Field Summary
Fields Modifier and Type Field Description protected PooledConnection
connection
protected ConnectionPool
pool
-
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 protected
ProxyConnection(ConnectionPool parent, PooledConnection con, boolean useEquals)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PooledConnection
getConnection()
PooledConnection
getDelegateConnection()
ConnectionPool
getParentPool()
ConnectionPool
getPool()
java.lang.Object
invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)
Gets invoked each time an operation onConnection
is invoked.boolean
isClosed()
boolean
isWrapperFor(java.lang.Class<?> iface)
void
reset(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.void
setConnection(PooledConnection connection)
void
setPool(ConnectionPool pool)
java.lang.String
toString()
java.lang.Object
unwrap(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:JdbcInterceptor
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.
This method may be called with null as both arguments when we are closing down the connection.- Specified by:
reset
in 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.Throwable
Description copied from class:JdbcInterceptor
Gets invoked each time an operation onConnection
is invoked.- Specified by:
invoke
in interfacejava.lang.reflect.InvocationHandler
- Overrides:
invoke
in classJdbcInterceptor
- Throws:
java.lang.Throwable
-
isClosed
public boolean isClosed()
-
getDelegateConnection
public PooledConnection getDelegateConnection()
-
getParentPool
public ConnectionPool getParentPool()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-