Class PoolingDriver

java.lang.Object
org.apache.commons.dbcp2.PoolingDriver
All Implemented Interfaces:
Driver

public class PoolingDriver extends Object implements Driver
A Driver implementation that obtains Connections from a registered ObjectPool.
Since:
2.0
  • Field Details

    • EMPTY_DRIVER_PROPERTY_INFO_ARRAY

      private static final DriverPropertyInfo[] EMPTY_DRIVER_PROPERTY_INFO_ARRAY
    • pools

      protected static final HashMap<String,org.apache.commons.pool2.ObjectPool<? extends Connection>> pools
      The map of registered pools.
    • URL_PREFIX

      public static final String URL_PREFIX
      My URL prefix
      See Also:
    • URL_PREFIX_LEN

      protected static final int URL_PREFIX_LEN
    • MAJOR_VERSION

      protected static final int MAJOR_VERSION
      See Also:
    • MINOR_VERSION

      protected static final int MINOR_VERSION
      See Also:
    • accessToUnderlyingConnectionAllowed

      private final boolean accessToUnderlyingConnectionAllowed
      Controls access to the underlying connection
  • Constructor Details

    • PoolingDriver

      public PoolingDriver()
      Constructs a new driver with accessToUnderlyingConnectionAllowed enabled.
    • PoolingDriver

      protected PoolingDriver(boolean accessToUnderlyingConnectionAllowed)
      For unit testing purposes.
      Parameters:
      accessToUnderlyingConnectionAllowed - Do DelegatingConnections created by this driver permit access to the delegate?
  • Method Details

    • acceptsURL

      public boolean acceptsURL(String url) throws SQLException
      Specified by:
      acceptsURL in interface Driver
      Throws:
      SQLException
    • closePool

      public void closePool(String name) throws SQLException
      Closes a named pool.
      Parameters:
      name - The pool name.
      Throws:
      SQLException - Thrown when a problem is caught closing the pool.
    • connect

      public Connection connect(String url, Properties info) throws SQLException
      Specified by:
      connect in interface Driver
      Throws:
      SQLException
    • getConnectionPool

      public org.apache.commons.pool2.ObjectPool<? extends Connection> getConnectionPool(String name) throws SQLException
      Gets the connection pool for the given name.
      Parameters:
      name - The pool name
      Returns:
      The pool
      Throws:
      SQLException - Thrown when the named pool is not registered.
    • getMajorVersion

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

      public int getMinorVersion()
      Specified by:
      getMinorVersion in interface Driver
    • getParentLogger

      public Logger getParentLogger() throws SQLFeatureNotSupportedException
      Specified by:
      getParentLogger in interface Driver
      Throws:
      SQLFeatureNotSupportedException
    • getPoolNames

      public String[] getPoolNames()
      Gets the pool names.
      Returns:
      the pool names.
    • getPropertyInfo

      public DriverPropertyInfo[] getPropertyInfo(String url, Properties info)
      Specified by:
      getPropertyInfo in interface Driver
    • invalidateConnection

      public void invalidateConnection(Connection conn) throws SQLException
      Invalidates the given connection.
      Parameters:
      conn - connection to invalidate
      Throws:
      SQLException - if the connection is not a PoolGuardConnectionWrapper or an error occurs invalidating the connection
    • isAccessToUnderlyingConnectionAllowed

      protected boolean isAccessToUnderlyingConnectionAllowed()
      Returns the value of the accessToUnderlyingConnectionAllowed property.
      Returns:
      true if access to the underlying is allowed, false otherwise.
    • jdbcCompliant

      public boolean jdbcCompliant()
      Specified by:
      jdbcCompliant in interface Driver
    • registerPool

      public void registerPool(String name, org.apache.commons.pool2.ObjectPool<? extends Connection> pool)
      Registers a named pool.
      Parameters:
      name - The pool name.
      pool - The pool.