类 ServerStatusDiffInterceptor
- java.lang.Object
-
- com.mysql.cj.jdbc.interceptors.ServerStatusDiffInterceptor
-
- 所有已实现的接口:
QueryInterceptor
public class ServerStatusDiffInterceptor extends Object implements QueryInterceptor
-
-
构造器概要
构造器 构造器 说明 ServerStatusDiffInterceptor()
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 voiddestroy()Called by the driver when this extension should release any resources it is holding and cleanup internally before the connection is closed.booleanexecuteTopLevelOnly()Should the driver execute this interceptor only for the "original" top-level query, and not put it in the execution path for queries that may be executed from other interceptors?QueryInterceptorinit(MysqlConnection conn, Properties props, Log l)Called once per connection that wants to use the interceptor The properties are the same ones passed in in the URL or arguments to Driver.connect() or DriverManager.getConnection().<T extends Resultset>
TpostProcess(java.util.function.Supplier<String> sql, Query interceptedQuery, T originalResultSet, ServerSession serverSession)Called after the given query has been sent to the server for processing.<T extends Resultset>
TpreProcess(java.util.function.Supplier<String> sql, Query interceptedQuery)Called before the given query is going to be sent to the server for processing.-
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
从接口继承的方法 com.mysql.cj.interceptors.QueryInterceptor
postProcess, preProcess
-
-
-
-
方法详细资料
-
init
public QueryInterceptor init(MysqlConnection conn, Properties props, Log l)
从接口复制的说明:QueryInterceptorCalled once per connection that wants to use the interceptor The properties are the same ones passed in in the URL or arguments to Driver.connect() or DriverManager.getConnection().- 指定者:
init在接口中QueryInterceptor- 参数:
conn- the connection for which this interceptor is being createdprops- configuration values as passed to the connection. Note that in order to support javax.sql.DataSources, configuration properties specific to an interceptor must be passed via setURL() on the DataSource. QueryInterceptor properties are not exposed via accessor/mutator methods on DataSources.l- logger- 返回:
QueryInterceptor
-
postProcess
public <T extends Resultset> T postProcess(java.util.function.Supplier<String> sql, Query interceptedQuery, T originalResultSet, ServerSession serverSession)
从接口复制的说明:QueryInterceptorCalled after the given query has been sent to the server for processing. Interceptors are free to inspect the "original" result set, and if a different result set is returned by the interceptor, it is used in place of the "original" result set. This method will be called while the connection-level mutex is held, so it will only be called from one thread at a time.- 指定者:
postProcess在接口中QueryInterceptor- 类型参数:
T-Resultsetobject- 参数:
sql- the Supplier for SQL representation of the queryinterceptedQuery- the actualQueryinstance being interceptedoriginalResultSet- aResultsetcreated from query executionserverSession-ServerSessionobject after the query execution- 返回:
- a
Resultsetthat should be returned to the application instead of results that are created from actual execution of the intercepted query.
-
preProcess
public <T extends Resultset> T preProcess(java.util.function.Supplier<String> sql, Query interceptedQuery)
从接口复制的说明:QueryInterceptorCalled before the given query is going to be sent to the server for processing. Interceptors are free to return a result set (which must implement the interfaceResultset), and if so, the server will not execute the query, and the given result set will be returned to the application instead. This method will be called while the connection-level mutex is held, so it will only be called from one thread at a time.- 指定者:
preProcess在接口中QueryInterceptor- 类型参数:
T-Resultsetobject- 参数:
sql- the Supplier for SQL representation of the queryinterceptedQuery- the actualQueryinstance being intercepted- 返回:
- a
Resultsetthat should be returned to the application instead of results that are created from actual execution of the intercepted query.
-
executeTopLevelOnly
public boolean executeTopLevelOnly()
从接口复制的说明:QueryInterceptorShould the driver execute this interceptor only for the "original" top-level query, and not put it in the execution path for queries that may be executed from other interceptors? If an interceptor issues queries using the connection it was created for, and does not returntruefor this method, it must ensure that it does not cause infinite recursion.- 指定者:
executeTopLevelOnly在接口中QueryInterceptor- 返回:
- true if the driver should ensure that this interceptor is only executed for the top-level "original" query.
-
destroy
public void destroy()
从接口复制的说明:QueryInterceptorCalled by the driver when this extension should release any resources it is holding and cleanup internally before the connection is closed.- 指定者:
destroy在接口中QueryInterceptor
-
-