com.mysql.jdbc
public interface BalanceStrategy extends Extension
Modifier and Type | Method and Description |
---|---|
ConnectionImpl |
pickConnection(LoadBalancingConnectionProxy proxy,
java.util.List<java.lang.String> configuredHosts,
java.util.Map<java.lang.String,ConnectionImpl> liveConnections,
long[] responseTimes,
int numRetries)
Called by the driver to pick a new connection to route requests over.
|
ConnectionImpl pickConnection(LoadBalancingConnectionProxy proxy, java.util.List<java.lang.String> configuredHosts, java.util.Map<java.lang.String,ConnectionImpl> liveConnections, long[] responseTimes, int numRetries) throws java.sql.SQLException
proxy
- the InvocationHandler that deals with actual method calls to
the JDBC connection, and serves as a factory for new
connections for this strategy via the
createConnectionForHost() method.
This proxy takes care of maintaining the response time list, map of
host/ports to live connections, and taking connections out of the live
connections map if they receive a network-related error while they are in
use by the application.configuredHosts
- the list of hosts/ports (in "host:port" form) as passed in by
the user.liveConnections
- a map of host/ports to "live" connections to them.responseTimes
- the list of response times for a transaction
for each host in the configured hosts list.numRetries
- the number of times the driver expects this strategy to re-try
connection attempts if creating a new connection fails.java.sql.SQLException
- if a new connection can not be found or created by this
strategy.LoadBalancingConnectionProxy.createConnectionForHost(String)