Class DynamicDriver

  • All Implemented Interfaces:
    java.sql.Driver

    public class DynamicDriver
    extends java.lang.Object
    implements java.sql.Driver
    Loads a JDBC driver dynamically at runtime via a URL.
    Because DriverManager will refuse to use a driver not loaded by the system-classloader, we must wrap the URL-loaded driver by such a class.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean acceptsURL​(java.lang.String url)  
      java.sql.Connection connect​(java.lang.String url, java.util.Properties info)  
      int getMajorVersion()  
      int getMinorVersion()  
      java.util.logging.Logger getParentLogger()  
      java.sql.DriverPropertyInfo[] getPropertyInfo​(java.lang.String url, java.util.Properties info)  
      boolean jdbcCompliant()  
      static java.sql.Driver load​(java.lang.String name)
      Loads a JDBC driver dynamically.
      The name consists of the driver's classname, followed by a colon, followed by the URL to load it.
      Example:
      static void unload​(java.sql.Driver driver)
      Unloads the driver.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • load

        public static java.sql.Driver load​(java.lang.String name)
        Loads a JDBC driver dynamically.
        The name consists of the driver's classname, followed by a colon, followed by the URL to load it.
        Example:
        org.postgresql.Driver:jar:file:/usr/share/java/postgresql.jar!/
        Parameters:
        name - the driver classname and loading url
        Returns:
        the loaded driver, never null
      • unload

        public static void unload​(java.sql.Driver driver)
        Unloads the driver.
        Parameters:
        driver - the driver previously loaded via load(String)
      • connect

        public java.sql.Connection connect​(java.lang.String url,
                                           java.util.Properties info)
                                    throws java.sql.SQLException
        Specified by:
        connect in interface java.sql.Driver
        Throws:
        java.sql.SQLException
      • acceptsURL

        public boolean acceptsURL​(java.lang.String url)
                           throws java.sql.SQLException
        Specified by:
        acceptsURL in interface java.sql.Driver
        Throws:
        java.sql.SQLException
      • getPropertyInfo

        public java.sql.DriverPropertyInfo[] getPropertyInfo​(java.lang.String url,
                                                             java.util.Properties info)
                                                      throws java.sql.SQLException
        Specified by:
        getPropertyInfo in interface java.sql.Driver
        Throws:
        java.sql.SQLException
      • getMajorVersion

        public int getMajorVersion()
        Specified by:
        getMajorVersion in interface java.sql.Driver
      • getMinorVersion

        public int getMinorVersion()
        Specified by:
        getMinorVersion in interface java.sql.Driver
      • jdbcCompliant

        public boolean jdbcCompliant()
        Specified by:
        jdbcCompliant in interface java.sql.Driver
      • getParentLogger

        public java.util.logging.Logger getParentLogger()
                                                 throws java.sql.SQLFeatureNotSupportedException
        Specified by:
        getParentLogger in interface java.sql.Driver
        Throws:
        java.sql.SQLFeatureNotSupportedException