Class StatementDecoratorInterceptor
java.lang.Object
org.apache.tomcat.jdbc.pool.JdbcInterceptor
org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor
org.apache.tomcat.jdbc.pool.interceptor.StatementDecoratorInterceptor
- All Implemented Interfaces:
- InvocationHandler
- Direct Known Subclasses:
- StatementCache
Implementation of JdbcInterceptor that proxies resultSets and statements.
- Author:
- Guillermo Fernandes
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionprotected static classprotected classClass to measure query execute time.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected static final Stringprotected static final Stringprotected static final Stringprotected static final String[]protected static Constructor<?>the constructor to create the resultSet proxiesFields inherited from class org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptorconstructors, CREATE_STATEMENT, CREATE_STATEMENT_IDX, EXECUTE, EXECUTE_BATCH, EXECUTE_TYPES, EXECUTE_UPDATE, PREPARE_CALL, PREPARE_CALL_IDX, PREPARE_STATEMENT, PREPARE_STATEMENT_IDX, STATEMENT_TYPE_COUNT, STATEMENT_TYPESFields 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
- 
Method SummaryModifier and TypeMethodDescriptionvoidMethod invoked when the operationConnection.close()is invoked.protected ObjectcreateDecorator(Object proxy, Method method, Object[] args, Object statement, Constructor<?> constructor, String sql) Creates a proxy for a Statement.createStatement(Object proxy, Method method, Object[] args, Object statement, long time) Creates a statement interceptor to monitor query response timesprotected Constructor<?>protected booleanisExecuteQuery(Method method) protected booleanisExecuteQuery(String methodName) protected booleanisResultSet(Method method, boolean process) Methods inherited from class org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptorgetConstructor, invoke, isExecute, isStatement, process, resetMethods inherited from class org.apache.tomcat.jdbc.pool.JdbcInterceptorcompare, compare, disconnected, getNext, getProperties, isUseEquals, poolClosed, poolStarted, setNext, setProperties, setUseEquals
- 
Field Details- 
EXECUTE_QUERY- See Also:
 
- 
GET_GENERATED_KEYS- See Also:
 
- 
GET_RESULTSET- See Also:
 
- 
RESULTSET_TYPES
- 
resultSetConstructorthe constructor to create the resultSet proxies
 
- 
- 
Constructor Details- 
StatementDecoratorInterceptorpublic StatementDecoratorInterceptor()
 
- 
- 
Method Details- 
closeInvokedpublic void closeInvoked()Description copied from class:AbstractCreateStatementInterceptorMethod invoked when the operationConnection.close()is invoked.- Specified by:
- closeInvokedin class- AbstractCreateStatementInterceptor
 
- 
getResultSetConstructor- Throws:
- NoSuchMethodException
 
- 
createStatementpublic Object createStatement(Object proxy, Method method, Object[] args, Object statement, long time) Creates a statement interceptor to monitor query response times- Specified by:
- createStatementin class- AbstractCreateStatementInterceptor
- Parameters:
- proxy- the actual proxy object
- method- the method that was called. It will be one of the methods defined in- AbstractCreateStatementInterceptor.STATEMENT_TYPES
- args- the arguments to the method
- statement- the statement that the underlying connection created
- time- Elapsed time
- Returns:
- a Statementobject
 
- 
createDecoratorprotected Object createDecorator(Object proxy, Method method, Object[] args, Object statement, Constructor<?> constructor, String sql) throws InstantiationException, IllegalAccessException, InvocationTargetException Creates a proxy for a Statement.- Parameters:
- proxy- The proxy object on which the method that triggered the creation of the statement was called.
- method- The method that was called on the proxy
- args- The arguments passed as part of the method call to the proxy
- statement- The statement object that is to be proxied
- constructor- The constructor for the desired proxy
- sql- The sql of of the statement
- Returns:
- A new proxy for the Statement
- Throws:
- InstantiationException- Couldn't instantiate object
- IllegalAccessException- Inaccessible constructor
- InvocationTargetException- Exception thrown from constructor
 
- 
isExecuteQuery
- 
isExecuteQuery
- 
isResultSet
 
-