Class ResetAbandonedTimer
- java.lang.Object
-
- org.apache.tomcat.jdbc.pool.JdbcInterceptor
-
- org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor
-
- org.apache.tomcat.jdbc.pool.interceptor.AbstractQueryReport
-
- org.apache.tomcat.jdbc.pool.interceptor.ResetAbandonedTimer
-
- All Implemented Interfaces:
java.lang.reflect.InvocationHandler,ResetAbandonedTimerMBean
public class ResetAbandonedTimer extends AbstractQueryReport implements ResetAbandonedTimerMBean
Class that resets the abandoned timer on any activity on the Connection or any successful query executions. This interceptor is useful for when you have aPoolConfiguration.setRemoveAbandonedTimeout(int)that is fairly low, and you want to reset the abandoned time each time any operation on the connection is performed This is useful for batch processing programs that use connections for extensive amount of times.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.tomcat.jdbc.pool.interceptor.AbstractQueryReport
AbstractQueryReport.StatementProxy
-
-
Field Summary
-
Fields inherited from class org.apache.tomcat.jdbc.pool.interceptor.AbstractQueryReport
threshold
-
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 ResetAbandonedTimer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcloseInvoked()Method invoked when the operationConnection.close()is invoked.java.lang.Objectinvoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)Gets invoked each time an operation onConnectionis invoked.protected voidprepareCall(java.lang.String query, long time)Invoked when prepareCall has been called and completed.protected voidprepareStatement(java.lang.String sql, long time)Invoked when prepareStatement has been called and completed.protected java.lang.StringreportQuery(java.lang.String query, java.lang.Object[] args, java.lang.String name, long start, long delta)Invoked when a query execution, a call to execute/executeQuery or executeBatch succeeded and was within the timing thresholdprotected java.lang.StringreportSlowQuery(java.lang.String query, java.lang.Object[] args, java.lang.String name, long start, long delta)Invoked when a query execution, a call to execute/executeQuery or executeBatch succeeded and was exceeded the timing thresholdvoidreset(ConnectionPool parent, PooledConnection con)no-op for this interceptor. no state is stored.booleanresetTimer()-
Methods inherited from class org.apache.tomcat.jdbc.pool.interceptor.AbstractQueryReport
createStatement, getThreshold, reportFailedQuery, setThreshold
-
Methods inherited from class org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor
getConstructor, isExecute, isStatement, process
-
Methods inherited from class org.apache.tomcat.jdbc.pool.JdbcInterceptor
compare, compare, disconnected, getNext, getProperties, isUseEquals, poolClosed, poolStarted, setNext, setProperties, setUseEquals
-
-
-
-
Method Detail
-
reset
public void reset(ConnectionPool parent, PooledConnection con)
Description copied from class:AbstractCreateStatementInterceptorno-op for this interceptor. no state is stored.- Overrides:
resetin classAbstractCreateStatementInterceptor- Parameters:
parent- - the connection pool owning the connectioncon- - the pooled connection
-
resetTimer
public boolean resetTimer()
- Specified by:
resetTimerin interfaceResetAbandonedTimerMBean
-
invoke
public 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 interfacejava.lang.reflect.InvocationHandler- Overrides:
invokein classAbstractCreateStatementInterceptor- Throws:
java.lang.Throwable
-
prepareCall
protected void prepareCall(java.lang.String query, long time)Description copied from class:AbstractQueryReportInvoked when prepareCall has been called and completed.- Specified by:
prepareCallin classAbstractQueryReport- Parameters:
query- - the string used to prepare the statement withtime- - the time it took to invoke prepare
-
prepareStatement
protected void prepareStatement(java.lang.String sql, long time)Description copied from class:AbstractQueryReportInvoked when prepareStatement has been called and completed.- Specified by:
prepareStatementin classAbstractQueryReport- Parameters:
sql- - the string used to prepare the statement withtime- - the time it took to invoke prepare
-
closeInvoked
public void closeInvoked()
Description copied from class:AbstractCreateStatementInterceptorMethod invoked when the operationConnection.close()is invoked.- Specified by:
closeInvokedin classAbstractCreateStatementInterceptor
-
reportQuery
protected java.lang.String reportQuery(java.lang.String query, java.lang.Object[] args, java.lang.String name, long start, long delta)Description copied from class:AbstractQueryReportInvoked when a query execution, a call to execute/executeQuery or executeBatch succeeded and was within the timing threshold- Overrides:
reportQueryin classAbstractQueryReport- Parameters:
query- the query that was executed and failedargs- the arguments to the executionname- the name of the method used to executeAbstractCreateStatementInterceptor.isExecute(Method, boolean)start- the time the query execution starteddelta- the time the execution took- Returns:
- - the SQL that was executed or the string "batch" if it was a batch execution
-
reportSlowQuery
protected java.lang.String reportSlowQuery(java.lang.String query, java.lang.Object[] args, java.lang.String name, long start, long delta)Description copied from class:AbstractQueryReportInvoked when a query execution, a call to execute/executeQuery or executeBatch succeeded and was exceeded the timing threshold- Overrides:
reportSlowQueryin classAbstractQueryReport- Parameters:
query- the query that was executed and failedargs- the arguments to the executionname- the name of the method used to executeAbstractCreateStatementInterceptor.isExecute(Method, boolean)start- the time the query execution starteddelta- the time the execution took- Returns:
- - the SQL that was executed or the string "batch" if it was a batch execution
-
-