com.mysql.jdbc
Class NonRegisteringReplicationDriver

java.lang.Object
  extended by com.mysql.jdbc.NonRegisteringDriver
      extended by com.mysql.jdbc.NonRegisteringReplicationDriver
All Implemented Interfaces:
java.sql.Driver
Direct Known Subclasses:
ReplicationDriver

public class NonRegisteringReplicationDriver
extends NonRegisteringDriver

Driver that opens two connections, one two a replication master, and another to one or more slaves, and decides to use master when the connection is not read-only, and use slave(s) when the connection is read-only.


Field Summary
 
Fields inherited from class com.mysql.jdbc.NonRegisteringDriver
DBNAME_PROPERTY_KEY, DEBUG, HOST_NAME_INDEX, HOST_PROPERTY_KEY, NUM_HOSTS_PROPERTY_KEY, PASSWORD_PROPERTY_KEY, PORT_NUMBER_INDEX, PORT_PROPERTY_KEY, PROPERTIES_TRANSFORM_KEY, TRACE, USE_CONFIG_PROPERTY_KEY, USER_PROPERTY_KEY
 
Constructor Summary
NonRegisteringReplicationDriver()
           
 
Method Summary
 java.sql.Connection connect(java.lang.String url, java.util.Properties info)
          Try to make a database connection to the given URL.
 
Methods inherited from class com.mysql.jdbc.NonRegisteringDriver
acceptsURL, connectReplicationConnection, database, getMajorVersion, getMajorVersionInternal, getMinorVersion, getMinorVersionInternal, getPropertyInfo, host, jdbcCompliant, parseHostPortPair, parseURL, port, property
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NonRegisteringReplicationDriver

public NonRegisteringReplicationDriver()
                                throws java.sql.SQLException
Throws:
java.sql.SQLException
Method Detail

connect

public java.sql.Connection connect(java.lang.String url,
                                   java.util.Properties info)
                            throws java.sql.SQLException
Description copied from class: NonRegisteringDriver
Try to make a database connection to the given URL. The driver should return "null" if it realizes it is the wrong kind of driver to connect to the given URL. This will be common, as when the JDBC driverManager is asked to connect to a given URL, it passes the URL to each loaded driver in turn.

The driver should raise an SQLException if it is the right driver to connect to the given URL, but has trouble connecting to the database.

The java.util.Properties argument can be used to pass arbitrary string tag/value pairs as connection arguments.

My protocol takes the form:

 
 jdbc:mysql://host:port/database
 
 

Specified by:
connect in interface java.sql.Driver
Overrides:
connect in class NonRegisteringDriver
Parameters:
url - the URL of the database to connect to
info - a list of arbitrary tag/value pairs as connection arguments
Returns:
a connection to the URL or null if it isnt us
Throws:
java.sql.SQLException - if a database access error occurs
See Also:
Driver.connect(java.lang.String, java.util.Properties)