com.mysql.cj.jdbc.ha

## Interface LoadBalanceExceptionChecker

    public interface LoadBalanceExceptionChecker

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `destroy()` Called by the driver when this extension should release any resources it is holding and cleanup internally before the connection is closed.
`void` `init(Properties props)` Called once per connection that wants to use the extension The properties are the same ones passed in in the URL or arguments to Driver.connect() or DriverManager.getConnection().
`boolean` `shouldExceptionTriggerFailover(Throwable ex)` Invoked to determine whether or a given SQLException should trigger a failover in a load-balanced deployment.

### Method Detail

#### init

    void init(Properties props)

Called once per connection that wants to use the extension The properties are the same ones passed in in the URL or arguments to Driver.connect() or DriverManager.getConnection().

Parameters:
  `props` - 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. Extension properties are not exposed via accessor/mutator methods on DataSources.

#### destroy

    void destroy()

Called by the driver when this extension should release any resources it is holding and cleanup internally before the connection is closed.

#### shouldExceptionTriggerFailover

    boolean shouldExceptionTriggerFailover(Throwable ex)

Invoked to determine whether or a given SQLException should trigger a failover in a load-balanced deployment. The driver will not pass in a Connection instance when calling init(), but it will pass in the Properties, otherwise it acts like a normal Extension. One instance of a handler *per* JDBC connection instance will be created. If you need singleton-like behavior, you're on your own to provide it.

Parameters:
  `ex` - exception
Returns:
  true if the exception should trigger failover.

Copyright © 2016, 2024, Oracle and/or its affiliates.