com.mysql.jdbc
public class LoadBalancedAutoCommitInterceptor extends java.lang.Object implements StatementInterceptorV2
Constructor and Description |
---|
LoadBalancedAutoCommitInterceptor() |
Modifier and Type | Method and Description |
---|---|
void |
destroy()
Called by the driver when this extension should release any resources
it is holding and cleanup internally before the connection is
closed.
|
boolean |
executeTopLevelOnly()
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?
|
void |
init(Connection connection,
java.util.Properties props)
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().
|
ResultSetInternalMethods |
postProcess(java.lang.String sql,
Statement interceptedStatement,
ResultSetInternalMethods originalResultSet,
Connection connection,
int warningCount,
boolean noIndexUsed,
boolean noGoodIndexUsed,
java.sql.SQLException statementException)
Called after the given statement has been sent to the server
for processing, instead of the StatementAware postProcess() of the earlier
api.
|
ResultSetInternalMethods |
preProcess(java.lang.String sql,
Statement interceptedStatement,
Connection connection)
Called before the given statement is going to be sent to the
server for processing.
|
public void destroy()
StatementInterceptorV2
destroy
in interface Extension
destroy
in interface StatementInterceptorV2
public boolean executeTopLevelOnly()
StatementInterceptorV2
true
for this method, it must ensure
that it does not cause infinite recursion.executeTopLevelOnly
in interface StatementInterceptorV2
public void init(Connection connection, java.util.Properties props) throws java.sql.SQLException
StatementInterceptorV2
init
in interface Extension
init
in interface StatementInterceptorV2
connection
- 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. StatementInterceptor properties are not exposed via
accessor/mutator methods on DataSources.java.sql.SQLException
- should be thrown if the the StatementInterceptor
can not initialize itself.public ResultSetInternalMethods postProcess(java.lang.String sql, Statement interceptedStatement, ResultSetInternalMethods originalResultSet, Connection connection, int warningCount, boolean noIndexUsed, boolean noGoodIndexUsed, java.sql.SQLException statementException) throws java.sql.SQLException
StatementInterceptorV2
postProcess
in interface StatementInterceptorV2
sql
- the SQL representation of the statementinterceptedStatement
- the actual statement instance being interceptedconnection
- the connection the statement is using (passed in to make
thread-safe implementations straightforward)java.sql.SQLException
- if an error occurs during executionResultSetInternalMethods
public ResultSetInternalMethods preProcess(java.lang.String sql, Statement interceptedStatement, Connection connection) throws java.sql.SQLException
StatementInterceptorV2
preProcess
in interface StatementInterceptorV2
sql
- the SQL representation of the statementinterceptedStatement
- the actual statement instance being interceptedconnection
- the connection the statement is using (passed in to make
thread-safe implementations straightforward)java.sql.SQLException
- if an error occurs during executionResultSetInternalMethods