Class StatementFinalizer
- java.lang.Object
-
- org.apache.tomcat.jdbc.pool.JdbcInterceptor
-
- org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor
-
- org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer
-
- All Implemented Interfaces:
java.lang.reflect.InvocationHandler
public class StatementFinalizer extends AbstractCreateStatementInterceptor
Keeps track of statements associated with a connection and invokes close uponConnection.close()
Useful for applications that don't close the associated statements after being done with a connection.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
StatementFinalizer.StatementEntry
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<StatementFinalizer.StatementEntry>
statements
-
Fields inherited from class org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor
constructors, CREATE_STATEMENT, CREATE_STATEMENT_IDX, EXECUTE, EXECUTE_BATCH, EXECUTE_QUERY, EXECUTE_TYPES, EXECUTE_UPDATE, PREPARE_CALL, PREPARE_CALL_IDX, PREPARE_STATEMENT, PREPARE_STATEMENT_IDX, STATEMENT_TYPE_COUNT, STATEMENT_TYPES
-
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 Constructor Description StatementFinalizer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
closeInvoked()
Method invoked when the operationConnection.close()
is invoked.java.lang.Object
createStatement(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args, java.lang.Object statement, long time)
This method will be invoked after a successful statement creation.void
reset(ConnectionPool parent, PooledConnection con)
no-op for this interceptor. no state is stored.void
setProperties(java.util.Map<java.lang.String,PoolProperties.InterceptorProperty> properties)
Called during the creation of an interceptor The properties can be set during the configuration of an interceptor Override this method to perform type casts between string values and object properties-
Methods inherited from class org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor
getConstructor, invoke, isExecute, isStatement, process
-
Methods inherited from class org.apache.tomcat.jdbc.pool.JdbcInterceptor
compare, compare, disconnected, getNext, getProperties, isUseEquals, poolClosed, poolStarted, setNext, setUseEquals
-
-
-
-
Field Detail
-
statements
protected java.util.List<StatementFinalizer.StatementEntry> statements
-
-
Method Detail
-
createStatement
public java.lang.Object createStatement(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args, java.lang.Object statement, long time)
Description copied from class:AbstractCreateStatementInterceptor
This method will be invoked after a successful statement creation. This method can choose to return a wrapper around the statement or return the statement itself. If this method returns a wrapper then it should return a wrapper object that implements one of the following interfaces.Statement
,PreparedStatement
orCallableStatement
- Specified by:
createStatement
in classAbstractCreateStatementInterceptor
- Parameters:
proxy
- the actual proxy objectmethod
- the method that was called. It will be one of the methods defined inAbstractCreateStatementInterceptor.STATEMENT_TYPES
args
- the arguments to the methodstatement
- the statement that the underlying connection createdtime
- Elapsed time- Returns:
- a
Statement
object
-
closeInvoked
public void closeInvoked()
Description copied from class:AbstractCreateStatementInterceptor
Method invoked when the operationConnection.close()
is invoked.- Specified by:
closeInvoked
in classAbstractCreateStatementInterceptor
-
setProperties
public void setProperties(java.util.Map<java.lang.String,PoolProperties.InterceptorProperty> properties)
Description copied from class:JdbcInterceptor
Called during the creation of an interceptor The properties can be set during the configuration of an interceptor Override this method to perform type casts between string values and object properties- Overrides:
setProperties
in classJdbcInterceptor
- Parameters:
properties
- The properties
-
reset
public void reset(ConnectionPool parent, PooledConnection con)
Description copied from class:AbstractCreateStatementInterceptor
no-op for this interceptor. no state is stored.- Overrides:
reset
in classAbstractCreateStatementInterceptor
- Parameters:
parent
- - the connection pool owning the connectioncon
- - the pooled connection
-
-