public class StatementDecoratorInterceptor extends AbstractCreateStatementInterceptor
Modifier and Type | Class and Description |
---|---|
protected class |
StatementDecoratorInterceptor.ResultSetProxy |
protected class |
StatementDecoratorInterceptor.StatementProxy<T extends java.sql.Statement>
Class to measure query execute time
|
Modifier and Type | Field and Description |
---|---|
protected static java.lang.reflect.Constructor<?>[] |
constructors
the constructors that are used to create statement proxies
|
protected static java.lang.reflect.Constructor<?> |
resultSetConstructor
the constructor to create the resultSet proxies
|
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
CLOSE_VAL, EQUALS_VAL, GETCONNECTION_VAL, HASHCODE_VAL, ISCLOSED_VAL, ISVALID_VAL, ISWRAPPERFOR_VAL, properties, TOSTRING_VAL, UNWRAP_VAL
Constructor and Description |
---|
StatementDecoratorInterceptor() |
Modifier and Type | Method and Description |
---|---|
void |
closeInvoked()
Method invoked when the operation
Connection.close() is invoked. |
protected java.lang.Object |
createDecorator(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args,
java.lang.Object statement,
java.lang.reflect.Constructor<?> constructor,
java.lang.String sql)
Creates a proxy for a Statement.
|
java.lang.Object |
createStatement(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args,
java.lang.Object statement,
long time)
Creates a statement interceptor to monitor query response times
|
protected java.lang.reflect.Constructor<?> |
getConstructor(int idx,
java.lang.Class<?> clazz)
Creates a constructor for a proxy class, if one doesn't already exist
|
protected java.lang.reflect.Constructor<?> |
getResultSetConstructor() |
protected boolean |
isExecuteQuery(java.lang.reflect.Method method) |
protected boolean |
isExecuteQuery(java.lang.String methodName) |
invoke, isExecute, isStatement, process, reset
compare, compare, disconnected, getNext, getProperties, isUseEquals, poolClosed, poolStarted, setNext, setProperties, setUseEquals
protected static final java.lang.reflect.Constructor<?>[] constructors
protected static java.lang.reflect.Constructor<?> resultSetConstructor
public void closeInvoked()
AbstractCreateStatementInterceptor
Connection.close()
is invoked.closeInvoked
in class AbstractCreateStatementInterceptor
protected java.lang.reflect.Constructor<?> getConstructor(int idx, java.lang.Class<?> clazz) throws java.lang.NoSuchMethodException
idx
- - the index of the constructorclazz
- - the interface that the proxy will implementjava.lang.NoSuchMethodException
protected java.lang.reflect.Constructor<?> getResultSetConstructor() throws java.lang.NoSuchMethodException
java.lang.NoSuchMethodException
public java.lang.Object createStatement(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args, java.lang.Object statement, long time)
createStatement
in class AbstractCreateStatementInterceptor
proxy
- the actual proxy objectmethod
- the method that was called. It will be one of the methods defined in AbstractCreateStatementInterceptor.STATEMENT_TYPES
args
- the arguments to the methodstatement
- the statement that the underlying connection createdStatement
objectprotected java.lang.Object createDecorator(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args, java.lang.Object statement, java.lang.reflect.Constructor<?> constructor, java.lang.String sql) throws java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
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 proxyargs
- The arguments passed as part of the method call to
the proxystatement
- The statement object that is to be proxiedconstructor
- The constructor for the desired proxysql
- The sql of of the statementjava.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
protected boolean isExecuteQuery(java.lang.String methodName)
protected boolean isExecuteQuery(java.lang.reflect.Method method)
Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.