org.apache.tomcat.jdbc.pool.interceptor
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:
- InvocationHandler
public class ResetAbandonedTimer
- extends AbstractQueryReport
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 a PoolConfiguration.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.
- Author:
- fhanik
Fields inherited from class org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor |
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 |
Method Summary |
void |
closeInvoked()
Method invoked when the operation Connection.close() is invoked. |
Object |
invoke(Object proxy,
Method method,
Object[] args)
Gets invoked each time an operation on Connection is invoked. |
protected void |
prepareCall(String query,
long time)
Invoked when prepareCall has been called and completed. |
protected void |
prepareStatement(String sql,
long time)
Invoked when prepareStatement has been called and completed. |
protected String |
reportQuery(String query,
Object[] args,
String name,
long start,
long delta)
Invoked when a query execution, a call to execute/executeQuery or executeBatch succeeded and was within the timing threshold |
protected String |
reportSlowQuery(String query,
Object[] args,
String name,
long start,
long delta)
Invoked when a query execution, a call to execute/executeQuery or executeBatch succeeded and was exceeded the timing threshold |
boolean |
resetTimer()
|
Methods inherited from class org.apache.tomcat.jdbc.pool.JdbcInterceptor |
compare, compare, disconnected, getNext, getProperties, isUseEquals, poolClosed, poolStarted, setNext, setProperties, setUseEquals |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ResetAbandonedTimer
public ResetAbandonedTimer()
resetTimer
public boolean resetTimer()
invoke
public Object invoke(Object proxy,
Method method,
Object[] args)
throws Throwable
- Description copied from class:
AbstractCreateStatementInterceptor
- Gets invoked each time an operation on
Connection
is invoked.
- Specified by:
invoke
in interface InvocationHandler
- Overrides:
invoke
in class AbstractCreateStatementInterceptor
- Throws:
Throwable
prepareCall
protected void prepareCall(String query,
long time)
- Description copied from class:
AbstractQueryReport
- Invoked when prepareCall has been called and completed.
- Specified by:
prepareCall
in class AbstractQueryReport
- Parameters:
query
- - the string used to prepare the statement withtime
- - the time it took to invoke prepare
prepareStatement
protected void prepareStatement(String sql,
long time)
- Description copied from class:
AbstractQueryReport
- Invoked when prepareStatement has been called and completed.
- Specified by:
prepareStatement
in class AbstractQueryReport
- 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:
AbstractCreateStatementInterceptor
- Method invoked when the operation
Connection.close()
is invoked.
- Specified by:
closeInvoked
in class AbstractCreateStatementInterceptor
reportQuery
protected String reportQuery(String query,
Object[] args,
String name,
long start,
long delta)
- Description copied from class:
AbstractQueryReport
- Invoked when a query execution, a call to execute/executeQuery or executeBatch succeeded and was within the timing threshold
- Overrides:
reportQuery
in class AbstractQueryReport
- Parameters:
query
- the query that was executed and failedargs
- the arguments to the executionname
- the name of the method used to execute AbstractCreateStatementInterceptor.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 String reportSlowQuery(String query,
Object[] args,
String name,
long start,
long delta)
- Description copied from class:
AbstractQueryReport
- Invoked when a query execution, a call to execute/executeQuery or executeBatch succeeded and was exceeded the timing threshold
- Overrides:
reportSlowQuery
in class AbstractQueryReport
- Parameters:
query
- the query that was executed and failedargs
- the arguments to the executionname
- the name of the method used to execute AbstractCreateStatementInterceptor.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
Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.