Class ConnectionState
- java.lang.Object
- 
- org.apache.tomcat.jdbc.pool.JdbcInterceptor
- 
- org.apache.tomcat.jdbc.pool.interceptor.ConnectionState
 
 
- 
- All Implemented Interfaces:
- java.lang.reflect.InvocationHandler
 
 public class ConnectionState extends JdbcInterceptor Interceptor that keep track of connection state to avoid roundtrips to the database. TheConnectionPoolis optimized to do as little work as possible. The pool itself doesn't remember settings likeConnection.setAutoCommit(boolean),Connection.setReadOnly(boolean),Connection.setCatalog(String)orConnection.setTransactionIsolation(int). It relies on the application to remember how and when these settings have been applied. In the cases where the application code doesn't know or want to keep track of the state, this interceptor helps cache the state, and it also avoids roundtrips to the database asking for it.
- 
- 
Field SummaryFields Modifier and Type Field Description protected java.lang.BooleanautoCommitprotected java.lang.Stringcatalogprotected java.lang.BooleanreadOnlyprotected java.lang.String[]readStateprotected java.lang.IntegertransactionIsolationprotected java.lang.String[]writeState- 
Fields inherited from class org.apache.tomcat.jdbc.pool.JdbcInterceptorCLOSE_VAL, EQUALS_VAL, GETCONNECTION_VAL, HASHCODE_VAL, ISCLOSED_VAL, ISVALID_VAL, ISWRAPPERFOR_VAL, properties, TOSTRING_VAL, UNWRAP_VAL
 
- 
 - 
Constructor SummaryConstructors Constructor Description ConnectionState()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddisconnected(ConnectionPool parent, PooledConnection con, boolean finalizing)Called whenConnection.close()is called on the underlying connection.java.lang.Objectinvoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)Gets invoked each time an operation onConnectionis invoked.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.- 
Methods inherited from class org.apache.tomcat.jdbc.pool.JdbcInterceptorcompare, compare, getNext, getProperties, isUseEquals, poolClosed, poolStarted, setNext, setProperties, setUseEquals
 
- 
 
- 
- 
- 
Field Detail- 
readStateprotected final java.lang.String[] readState 
 - 
writeStateprotected final java.lang.String[] writeState 
 - 
autoCommitprotected java.lang.Boolean autoCommit 
 - 
transactionIsolationprotected java.lang.Integer transactionIsolation 
 - 
readOnlyprotected java.lang.Boolean readOnly 
 - 
catalogprotected java.lang.String catalog 
 
- 
 - 
Method Detail- 
resetpublic 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 class- JdbcInterceptor
- Parameters:
- parent- - the connection pool owning the connection
- con- - the pooled connection
 
 - 
disconnectedpublic void disconnected(ConnectionPool parent, PooledConnection con, boolean finalizing) Description copied from class:JdbcInterceptorCalled whenConnection.close()is called on the underlying connection. This is to notify the interceptors, that the physical connection has been released. Implementation of this method should be thought through with care, as no actions should trigger an exception.- Overrides:
- disconnectedin class- JdbcInterceptor
- Parameters:
- parent- - the connection pool that this connection belongs to
- con- - the pooled connection that holds this connection
- finalizing- - if this connection is finalizing. True means that the pooled connection will not reconnect the underlying connection
 
 - 
invokepublic 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 interface- java.lang.reflect.InvocationHandler
- Overrides:
- invokein class- JdbcInterceptor
- Throws:
- java.lang.Throwable
 
 
- 
 
-