public class DriverAdapterCPDS extends Object implements ConnectionPoolDataSource, Referenceable, Serializable, ObjectFactory
 An adapter for JDBC drivers that do not include an implementation
 of ConnectionPoolDataSource, but still include a
 DriverManager implementation.
 ConnectionPoolDataSources are not used within general
 applications.  They are used by DataSource implementations
 that pool Connections, such as
 SharedPoolDataSource.  A J2EE
 container will normally provide some method of initializing the
 ConnectionPoolDataSource whose attributes are presented
 as bean getters/setters and then deploying it via JNDI.  It is then
 available as a source of physical connections to the database, when
 the pooling DataSource needs to create a new
 physical connection.
 
 Although normally used within a JNDI environment, the DriverAdapterCPDS
 can be instantiated and initialized as any bean and then attached
 directly to a pooling DataSource.
 Jdbc2PoolDataSource can use the
 ConnectionPoolDataSource with or without the use of JNDI.
 
 The DriverAdapterCPDS also provides PreparedStatement pooling
 which is not generally available in jbdc2
 ConnectionPoolDataSource implementation, but is
 addressed within the JDBC3 specification.  The PreparedStatement
 pool in DriverAdapterCPDS has been in the dbcp package for some time, but
 it has not undergone extensive testing in the configuration used here.
 It should be considered experimental and can be toggled with the
 poolPreparedStatements attribute.
 
 The package documentation contains an
 example using catalina and JNDI.  The datasources package documentation
 shows how to use DriverAdapterCPDS as a source for
 Jdbc2PoolDataSource without the use of JNDI.
 
| Constructor and Description | 
|---|
| DriverAdapterCPDS()Default no-arg constructor for Serialization | 
| Modifier and Type | Method and Description | 
|---|---|
| Properties | getConnectionProperties()Get the connection properties passed to the JDBC driver. | 
| String | getDescription()Get the value of description. | 
| String | getDriver()Get the driver classname. | 
| int | getLoginTimeout()Gets the maximum time in seconds that this data source can wait
 while attempting to connect to a database. | 
| PrintWriter | getLogWriter()Get the log writer for this data source. | 
| int | getMaxActive()The maximum number of active statements that can be allocated from
 this pool at the same time, or non-positive for no limit. | 
| int | getMaxIdle()The maximum number of statements that can remain idle in the
 pool, without extra ones being released, or negative for no limit. | 
| int | getMaxPreparedStatements()Returns the maximun number of prepared statements. | 
| int | getMinEvictableIdleTimeMillis()Returns the minimum amount of time a statement may sit idle in the pool
 before it is eligible for eviction by the idle object evictor
 (if any). | 
| int | getNumTestsPerEvictionRun()Returns the number of statements to examine during each run of the
 idle object evictor thread (if any). | 
| Object | getObjectInstance(Object refObj,
                 Name name,
                 Context context,
                 Hashtable<?,?> env)implements ObjectFactory to create an instance of this class | 
| Logger | getParentLogger() | 
| String | getPassword()Get the value of password for the default user. | 
| PooledConnection | getPooledConnection()Attempt to establish a database connection using the default
 user and password. | 
| PooledConnection | getPooledConnection(String username,
                   String pass)Attempt to establish a database connection. | 
| Reference | getReference()Referenceableimplementation. | 
| int | getTimeBetweenEvictionRunsMillis()Returns the number of milliseconds to sleep between runs of the
 idle object evictor thread. | 
| String | getUrl()Get the value of url used to locate the database for this datasource. | 
| String | getUser()Get the value of default user (login or username). | 
| boolean | isAccessToUnderlyingConnectionAllowed()Returns the value of the accessToUnderlyingConnectionAllowed property. | 
| boolean | isPoolPreparedStatements()Flag to toggle the pooling of  PreparedStatements | 
| void | setAccessToUnderlyingConnectionAllowed(boolean allow)Sets the value of the accessToUnderlyingConnectionAllowed property. | 
| void | setConnectionProperties(Properties props)Set the connection properties passed to the JDBC driver. | 
| void | setDescription(String v)Set the value of description. | 
| void | setDriver(String v)Set the driver classname. | 
| void | setLoginTimeout(int seconds)Sets the maximum time in seconds that this data source will wait
 while attempting to connect to a database. | 
| void | setLogWriter(PrintWriter out)Set the log writer for this data source. | 
| void | setMaxActive(int maxActive)The maximum number of active statements that can be allocated from
 this pool at the same time, or non-positive for no limit. | 
| void | setMaxIdle(int maxIdle)The maximum number of statements that can remain idle in the
 pool, without extra ones being released, or negative for no limit. | 
| void | setMaxPreparedStatements(int maxPreparedStatements)Sets the maximum number of prepared statements. | 
| void | setMinEvictableIdleTimeMillis(int minEvictableIdleTimeMillis)Sets the minimum amount of time a statement may sit idle in the pool
 before it is eligable for eviction by the idle object evictor
 (if any). | 
| void | setNumTestsPerEvictionRun(int numTestsPerEvictionRun)Sets the number of statements to examine during each run of the
 idle object evictor thread (if any). | 
| void | setPassword(String v)Set the value of password for the default user. | 
| void | setPoolPreparedStatements(boolean v)Flag to toggle the pooling of  PreparedStatements | 
| void | setTimeBetweenEvictionRunsMillis(int timeBetweenEvictionRunsMillis)Sets the number of milliseconds to sleep between runs of the
 idle object evictor thread. | 
| void | setUrl(String v)Set the value of url used to locate the database for this datasource. | 
| void | setUser(String v)Set the value of default user (login or username). | 
public DriverAdapterCPDS()
public PooledConnection getPooledConnection() throws SQLException
getPooledConnection in interface ConnectionPoolDataSourceSQLExceptionpublic PooledConnection getPooledConnection(String username, String pass) throws SQLException
getPooledConnection in interface ConnectionPoolDataSourceusername - name to be used for the connectionpass - password to be used fur the connectionSQLExceptionpublic Reference getReference() throws NamingException
Referenceable implementation.getReference in interface ReferenceableNamingExceptionpublic Object getObjectInstance(Object refObj, Name name, Context context, Hashtable<?,?> env) throws Exception
getObjectInstance in interface ObjectFactoryExceptionpublic Properties getConnectionProperties()
public void setConnectionProperties(Properties props)
Set the connection properties passed to the JDBC driver.
If props contains "user" and/or "password"
 properties, the corresponding instance properties are set. If these
 properties are not present, they are filled in using
 getUser(), getPassword() when getPooledConnection()
 is called, or using the actual parameters to the method call when
 getPooledConnection(String, String) is called. Calls to
 setUser(String) or setPassword(String) overwrite the values
 of these properties if connectionProperties is not null.
props - Connection properties to use when creating new connections.IllegalStateException - if getPooledConnection() has been calledpublic String getDescription()
setDescription(String)public void setDescription(String v)
v - Value to assign to description.public String getPassword()
public void setPassword(String v)
v - Value to assign to password.IllegalStateException - if getPooledConnection() has been calledpublic String getUrl()
public void setUrl(String v)
v - Value to assign to url.IllegalStateException - if getPooledConnection() has been calledpublic String getUser()
public void setUser(String v)
v - Value to assign to user.IllegalStateException - if getPooledConnection() has been calledpublic String getDriver()
public void setDriver(String v) throws ClassNotFoundException
v - Value to assign to driver.IllegalStateException - if getPooledConnection() has been calledClassNotFoundExceptionpublic int getLoginTimeout()
getLoginTimeout in interface CommonDataSourcepublic PrintWriter getLogWriter()
getLogWriter in interface CommonDataSourcepublic void setLoginTimeout(int seconds)
setLoginTimeout in interface CommonDataSourcepublic void setLogWriter(PrintWriter out)
setLogWriter in interface CommonDataSourcepublic boolean isPoolPreparedStatements()
PreparedStatementspublic void setPoolPreparedStatements(boolean v)
PreparedStatementsv - true to pool statements.IllegalStateException - if getPooledConnection() has been calledpublic int getMaxActive()
public void setMaxActive(int maxActive)
maxActive - the maximum number of concurrent active statements allowedIllegalStateException - if getPooledConnection() has been calledpublic int getMaxIdle()
public void setMaxIdle(int maxIdle)
maxIdle - The maximum number of statements that can remain idleIllegalStateException - if getPooledConnection() has been calledpublic int getTimeBetweenEvictionRunsMillis()
setTimeBetweenEvictionRunsMillis(int)public void setTimeBetweenEvictionRunsMillis(int timeBetweenEvictionRunsMillis)
timeBetweenEvictionRunsMillis - IllegalStateException - if getPooledConnection() has been calledgetTimeBetweenEvictionRunsMillis()public int getNumTestsPerEvictionRun()
public void setNumTestsPerEvictionRun(int numTestsPerEvictionRun)
 When a negative value is supplied, ceil({*link #numIdle})/abs({*link #getNumTestsPerEvictionRun})
 tests will be run.  I.e., when the value is -n, roughly one nth of the
 idle objects will be tested per run.
numTestsPerEvictionRun - number of statements to examine per runIllegalStateException - if getPooledConnection() has been calledgetNumTestsPerEvictionRun(), 
setTimeBetweenEvictionRunsMillis(int)public int getMinEvictableIdleTimeMillis()
public void setMinEvictableIdleTimeMillis(int minEvictableIdleTimeMillis)
minEvictableIdleTimeMillis - minimum time to set (in ms)IllegalStateException - if getPooledConnection() has been calledgetMinEvictableIdleTimeMillis(), 
setTimeBetweenEvictionRunsMillis(int)public boolean isAccessToUnderlyingConnectionAllowed()
public void setAccessToUnderlyingConnectionAllowed(boolean allow)
allow - Access to the underlying connection is granted when true.public int getMaxPreparedStatements()
public void setMaxPreparedStatements(int maxPreparedStatements)
maxPreparedStatements - the new maximum number of prepared
 statementspublic Logger getParentLogger() throws SQLFeatureNotSupportedException
getParentLogger in interface CommonDataSourceSQLFeatureNotSupportedExceptionCopyright © 2000-2020 Apache Software Foundation. All Rights Reserved.