Class DisposableConnectionFacade

java.lang.Object
org.apache.tomcat.jdbc.pool.JdbcInterceptor
org.apache.tomcat.jdbc.pool.DisposableConnectionFacade
All Implemented Interfaces:
InvocationHandler

public class DisposableConnectionFacade extends JdbcInterceptor
A DisposableConnectionFacade object is the top most interceptor that wraps an object of type PooledConnection. The DisposableConnectionFacade intercepts three methods:
  • Connection.close() - breaks the link between cutoff and the next interceptor, then returns the connection to the pool. May be called multiple times.
  • Connection.abort(java.util.concurrent.Executor) - disposes of the facade in the same way, then delegates the abort to the chain, which ends the borrow. A facade already disposed answers the call with the no-op the JDBC specification prescribes for a closed connection.
  • Object.toString() - returns a custom string for this object
By default method comparisons is done on a String reference level, unless the PoolConfiguration.setUseEquals(boolean) has been called with a true argument.
  • Constructor Details

    • DisposableConnectionFacade

      protected DisposableConnectionFacade(JdbcInterceptor interceptor)
      Construct a DisposableConnectionFacade that wraps the given interceptor.
      Parameters:
      interceptor - The next interceptor in the chain
  • Method Details

    • 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. When called for a shutdown reset, an interceptor that throws is isolated: the exception is logged and ignored, and the remaining interceptors in the chain are reset as well.
      Specified by:
      reset in class JdbcInterceptor
      Parameters:
      parent - - the connection pool owning the connection
      con - - the pooled connection
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • invoke

      public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
      Description copied from class: JdbcInterceptor
      Gets invoked each time an operation on Connection is invoked.
      Specified by:
      invoke in interface InvocationHandler
      Overrides:
      invoke in class JdbcInterceptor
      Throws:
      Throwable