Apache Tomcat 7.0.37

org.apache.tomcat.jdbc.pool.interceptor
Class ResetAbandonedTimer

java.lang.Object
  extended by org.apache.tomcat.jdbc.pool.JdbcInterceptor
      extended by org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor
          extended by org.apache.tomcat.jdbc.pool.interceptor.AbstractQueryReport
              extended by 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

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
constructors, threshold
 
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
 
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
ResetAbandonedTimer()
           
 
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.interceptor.AbstractQueryReport
createStatement, getConstructor, getThreshold, reportFailedQuery, setThreshold
 
Methods inherited from class org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor
isExecute, isStatement, process, reset
 
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
 

Constructor Detail

ResetAbandonedTimer

public ResetAbandonedTimer()
Method Detail

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 with
time - - 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 with
time - - 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 failed
args - the arguments to the execution
name - the name of the method used to execute AbstractCreateStatementInterceptor.isExecute(Method, boolean)
start - the time the query execution started
delta - 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 failed
args - the arguments to the execution
name - the name of the method used to execute AbstractCreateStatementInterceptor.isExecute(Method, boolean)
start - the time the query execution started
delta - the time the execution took
Returns:
- the SQL that was executed or the string "batch" if it was a batch execution

Apache Tomcat 7.0.37

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.