Package org.apache.tomcat.dbcp.dbcp2
Class PoolingDriver
- java.lang.Object
-
- org.apache.tomcat.dbcp.dbcp2.PoolingDriver
-
- All Implemented Interfaces:
java.sql.Driver
public class PoolingDriver extends java.lang.Object implements java.sql.Driver
- Since:
- 2.0
-
-
Field Summary
Fields Modifier and Type Field Description protected static int
MAJOR_VERSION
protected static int
MINOR_VERSION
protected static java.util.HashMap<java.lang.String,ObjectPool<? extends java.sql.Connection>>
pools
The map of registered pools.static java.lang.String
URL_PREFIX
My URL prefixprotected static int
URL_PREFIX_LEN
-
Constructor Summary
Constructors Modifier Constructor Description PoolingDriver()
Constructs a new driver withaccessToUnderlyingConnectionAllowed
enabled.protected
PoolingDriver(boolean accessToUnderlyingConnectionAllowed)
For unit testing purposes.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
acceptsURL(java.lang.String url)
void
closePool(java.lang.String name)
Closes a named pool.java.sql.Connection
connect(java.lang.String url, java.util.Properties info)
ObjectPool<? extends java.sql.Connection>
getConnectionPool(java.lang.String name)
Gets the connection pool for the given name.int
getMajorVersion()
int
getMinorVersion()
java.util.logging.Logger
getParentLogger()
java.lang.String[]
getPoolNames()
Gets the pool names.java.sql.DriverPropertyInfo[]
getPropertyInfo(java.lang.String url, java.util.Properties info)
void
invalidateConnection(java.sql.Connection conn)
Invalidates the given connection.protected boolean
isAccessToUnderlyingConnectionAllowed()
Returns the value of the accessToUnderlyingConnectionAllowed property.boolean
jdbcCompliant()
void
registerPool(java.lang.String name, ObjectPool<? extends java.sql.Connection> pool)
Registers a named pool.
-
-
-
Field Detail
-
pools
protected static final java.util.HashMap<java.lang.String,ObjectPool<? extends java.sql.Connection>> pools
The map of registered pools.
-
URL_PREFIX
public static final java.lang.String URL_PREFIX
My URL prefix- See Also:
- Constant Field Values
-
URL_PREFIX_LEN
protected static final int URL_PREFIX_LEN
-
MAJOR_VERSION
protected static final int MAJOR_VERSION
- See Also:
- Constant Field Values
-
MINOR_VERSION
protected static final int MINOR_VERSION
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PoolingDriver
public PoolingDriver()
Constructs a new driver withaccessToUnderlyingConnectionAllowed
enabled.
-
PoolingDriver
protected PoolingDriver(boolean accessToUnderlyingConnectionAllowed)
For unit testing purposes.- Parameters:
accessToUnderlyingConnectionAllowed
- DoDelegatingConnection
s created by this driver permit access to the delegate?
-
-
Method Detail
-
acceptsURL
public boolean acceptsURL(java.lang.String url) throws java.sql.SQLException
- Specified by:
acceptsURL
in interfacejava.sql.Driver
- Throws:
java.sql.SQLException
-
closePool
public void closePool(java.lang.String name) throws java.sql.SQLException
Closes a named pool.- Parameters:
name
- The pool name.- Throws:
java.sql.SQLException
- Thrown when a problem is caught closing the pool.
-
connect
public java.sql.Connection connect(java.lang.String url, java.util.Properties info) throws java.sql.SQLException
- Specified by:
connect
in interfacejava.sql.Driver
- Throws:
java.sql.SQLException
-
getConnectionPool
public ObjectPool<? extends java.sql.Connection> getConnectionPool(java.lang.String name) throws java.sql.SQLException
Gets the connection pool for the given name.- Parameters:
name
- The pool name- Returns:
- The pool
- Throws:
java.sql.SQLException
- Thrown when the named pool is not registered.
-
getMajorVersion
public int getMajorVersion()
- Specified by:
getMajorVersion
in interfacejava.sql.Driver
-
getMinorVersion
public int getMinorVersion()
- Specified by:
getMinorVersion
in interfacejava.sql.Driver
-
getParentLogger
public java.util.logging.Logger getParentLogger() throws java.sql.SQLFeatureNotSupportedException
- Specified by:
getParentLogger
in interfacejava.sql.Driver
- Throws:
java.sql.SQLFeatureNotSupportedException
-
getPoolNames
public java.lang.String[] getPoolNames()
Gets the pool names.- Returns:
- the pool names.
-
getPropertyInfo
public java.sql.DriverPropertyInfo[] getPropertyInfo(java.lang.String url, java.util.Properties info)
- Specified by:
getPropertyInfo
in interfacejava.sql.Driver
-
invalidateConnection
public void invalidateConnection(java.sql.Connection conn) throws java.sql.SQLException
Invalidates the given connection.- Parameters:
conn
- connection to invalidate- Throws:
java.sql.SQLException
- if the connection is not aPoolGuardConnectionWrapper
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 interfacejava.sql.Driver
-
registerPool
public void registerPool(java.lang.String name, ObjectPool<? extends java.sql.Connection> pool)
Registers a named pool.- Parameters:
name
- The pool name.pool
- The pool.
-
-