Class ProxyConnection
java.lang.Object
org.apache.tomcat.jdbc.pool.JdbcInterceptor
org.apache.tomcat.jdbc.pool.ProxyConnection
- All Implemented Interfaces:
InvocationHandler
A ProxyConnection object is the bottom most interceptor that wraps an object of type
PooledConnection. 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 a true argument.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected PooledConnectionThe underlying pooled connection.protected ConnectionPoolThe parent connection pool.Fields inherited from class JdbcInterceptor
CLOSE_VAL, EQUALS_VAL, GETCONNECTION_VAL, HASHCODE_VAL, ISCLOSED_VAL, ISVALID_VAL, ISWRAPPERFOR_VAL, properties, TOSTRING_VAL, UNWRAP_VAL -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedProxyConnection(ConnectionPool parent, PooledConnection con, boolean useEquals) Creates a new ProxyConnection wrapping the given pooled connection. -
Method Summary
Modifier and TypeMethodDescriptionReturns the underlying pooled connection.Returns the delegate pooled connection.Returns the parent connection pool.getPool()Returns the parent connection pool.Gets invoked each time an operation onConnectionis invoked.booleanisClosed()Returns true if the underlying connection has been closed or discarded.booleanisWrapperFor(Class<?> iface) Checks whether this proxy wraps the given interface.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) Sets the underlying pooled connection.voidsetPool(ConnectionPool pool) Sets the parent connection pool.toString()Unwraps the connection to the given interface.Methods inherited from class JdbcInterceptor
compare, compare, disconnected, getNext, getProperties, isUseEquals, poolClosed, poolStarted, setNext, setProperties, setUseEquals
-
Field Details
-
connection
The underlying pooled connection. -
pool
The parent connection pool.
-
-
Constructor Details
-
ProxyConnection
Creates a new ProxyConnection wrapping the given pooled connection.- Parameters:
parent- the parent connection poolcon- the pooled connectionuseEquals- whether to use equals for method comparison
-
-
Method Details
-
getConnection
Returns the underlying pooled connection.- Returns:
- the pooled connection
-
setConnection
Sets the underlying pooled connection.- Parameters:
connection- the pooled connection
-
getPool
-
setPool
Sets the parent connection pool.- Parameters:
pool- the connection pool
-
reset
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
Checks whether this proxy wraps the given interface.- Parameters:
iface- the interface to check- Returns:
- true if this proxy wraps the given interface
-
unwrap
Unwraps the connection to the given interface.- Parameters:
iface- the interface to unwrap to- Returns:
- the unwrapped connection
- Throws:
SQLException- if the connection does not wrap the given interface
-
invoke
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()Returns true if the underlying connection has been closed or discarded.- Returns:
- true if closed or discarded
-
getDelegateConnection
Returns the delegate pooled connection.- Returns:
- the delegate pooled connection
-
getParentPool
Returns the parent connection pool.- Returns:
- the parent connection pool
-
toString
-