|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.mysql.jdbc.SequentialBalanceStrategy
public class SequentialBalanceStrategy
A balancing strategy that starts at a random point, and then advances in the list (wrapping around) for each new pickConnection() call. The initial point selection, and subsequent point selections are blacklist-aware.
Constructor Summary | |
---|---|
SequentialBalanceStrategy()
|
Method Summary | |
---|---|
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(Connection conn,
java.util.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(). |
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SequentialBalanceStrategy()
Method Detail |
---|
public void destroy()
Extension
destroy
in interface Extension
public void init(Connection conn, java.util.Properties props) throws java.sql.SQLException
Extension
init
in interface Extension
conn
- the connection for which this extension 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. Extension properties are not exposed via
accessor/mutator methods on DataSources.
java.sql.SQLException
- should be thrown if the the Extension
can not initialize itself.public 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
BalanceStrategy
pickConnection
in interface BalanceStrategy
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)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |