Package org.apache.commons.dbcp
Class PoolableConnectionFactory
- java.lang.Object
-
- org.apache.commons.dbcp.PoolableConnectionFactory
-
- All Implemented Interfaces:
org.apache.commons.pool.PoolableObjectFactory
- Direct Known Subclasses:
PoolableManagedConnectionFactory
public class PoolableConnectionFactory extends Object implements org.apache.commons.pool.PoolableObjectFactory
APoolableObjectFactory
that createsPoolableConnection
s.- Version:
- $Revision: 883393 $ $Date: 2009-11-23 11:18:35 -0500 (Mon, 23 Nov 2009) $
- Author:
- Rodney Waldhoff, Glenn L. Nielsen, James House, Dirk Verbeeck
-
-
Field Summary
Fields Modifier and Type Field Description protected AbandonedConfig
_config
Configuration for removing abandoned connections.protected Collection
_connectionInitSqls
protected ConnectionFactory
_connFactory
protected boolean
_defaultAutoCommit
protected String
_defaultCatalog
protected Boolean
_defaultReadOnly
protected int
_defaultTransactionIsolation
protected org.apache.commons.pool.ObjectPool
_pool
protected org.apache.commons.pool.KeyedObjectPoolFactory
_stmtPoolFactory
protected String
_validationQuery
protected int
_validationQueryTimeout
-
Constructor Summary
Constructors Constructor Description PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit)
Create a new PoolableConnectionFactory.PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation)
Create a new PoolableConnectionFactory.PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, String defaultCatalog, AbandonedConfig config)
Create a new PoolableConnectionFactory.PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, AbandonedConfig config)
Create a new PoolableConnectionFactory.PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit, AbandonedConfig config)
Create a new PoolableConnectionFactory.PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, int validationQueryTimeout, boolean defaultReadOnly, boolean defaultAutoCommit)
Create a new PoolableConnectionFactory.PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, int validationQueryTimeout, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation)
Create a new PoolableConnectionFactory.PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, int validationQueryTimeout, Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, String defaultCatalog, AbandonedConfig config)
Create a new PoolableConnectionFactory.PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, int validationQueryTimeout, Collection connectionInitSqls, boolean defaultReadOnly, boolean defaultAutoCommit)
Create a new PoolableConnectionFactory.PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, int validationQueryTimeout, Collection connectionInitSqls, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation)
Create a new PoolableConnectionFactory.PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, int validationQueryTimeout, Collection connectionInitSqls, Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, String defaultCatalog, AbandonedConfig config)
Create a new PoolableConnectionFactory.PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, String defaultCatalog, AbandonedConfig config)
Create a new PoolableConnectionFactory.PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, Collection connectionInitSqls, boolean defaultReadOnly, boolean defaultAutoCommit)
Create a new PoolableConnectionFactory.PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, Collection connectionInitSqls, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation)
Create a new PoolableConnectionFactory.PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, Collection connectionInitSqls, Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, String defaultCatalog, AbandonedConfig config)
Create a new PoolableConnectionFactory.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
activateObject(Object obj)
void
destroyObject(Object obj)
org.apache.commons.pool.ObjectPool
getPool()
Returns theObjectPool
in whichConnection
s are pooled.protected void
initializeConnection(Connection conn)
Object
makeObject()
void
passivateObject(Object obj)
void
setConnectionFactory(ConnectionFactory connFactory)
Sets theConnectionFactory
from which to obtain baseConnection
s.void
setConnectionInitSql(Collection connectionInitSqls)
Sets the SQL statements I use to initialize newly createdConnection
s.void
setDefaultAutoCommit(boolean defaultAutoCommit)
Sets the default "auto commit" setting for borrowedConnection
svoid
setDefaultCatalog(String defaultCatalog)
Sets the default "catalog" setting for borrowedConnection
svoid
setDefaultReadOnly(boolean defaultReadOnly)
Sets the default "read only" setting for borrowedConnection
svoid
setDefaultTransactionIsolation(int defaultTransactionIsolation)
Sets the default "Transaction Isolation" setting for borrowedConnection
svoid
setPool(org.apache.commons.pool.ObjectPool pool)
Sets theObjectPool
in which to poolConnection
s.void
setStatementPoolFactory(org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory)
void
setValidationQuery(String validationQuery)
Sets the query I use tovalidate
Connection
s.void
setValidationQueryTimeout(int timeout)
Sets the validation query timeout, the amount of time, in seconds, that connection validation will wait for a response from the database when executing a validation query.void
validateConnection(Connection conn)
boolean
validateObject(Object obj)
-
-
-
Field Detail
-
_connFactory
protected volatile ConnectionFactory _connFactory
-
_validationQuery
protected volatile String _validationQuery
-
_validationQueryTimeout
protected volatile int _validationQueryTimeout
-
_connectionInitSqls
protected Collection _connectionInitSqls
-
_pool
protected volatile org.apache.commons.pool.ObjectPool _pool
-
_stmtPoolFactory
protected volatile org.apache.commons.pool.KeyedObjectPoolFactory _stmtPoolFactory
-
_defaultReadOnly
protected Boolean _defaultReadOnly
-
_defaultAutoCommit
protected boolean _defaultAutoCommit
-
_defaultTransactionIsolation
protected int _defaultTransactionIsolation
-
_defaultCatalog
protected String _defaultCatalog
-
_config
protected AbandonedConfig _config
Configuration for removing abandoned connections.
-
-
Constructor Detail
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit)
Create a new PoolableConnectionFactory.- Parameters:
connFactory
- theConnectionFactory
from which to obtain baseConnection
spool
- theObjectPool
in which to pool thoseConnection
sstmtPoolFactory
- theKeyedObjectPoolFactory
to use to createKeyedObjectPool
s for poolingPreparedStatement
s, or null to disablePreparedStatement
poolingvalidationQuery
- a query to use tovalidate
Connection
s. Should return at least one row. Using null turns off validation.defaultReadOnly
- the default "read only" setting for borrowedConnection
sdefaultAutoCommit
- the default "auto commit" setting for returnedConnection
s
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, Collection connectionInitSqls, boolean defaultReadOnly, boolean defaultAutoCommit)
Create a new PoolableConnectionFactory.- Parameters:
connFactory
- theConnectionFactory
from which to obtain baseConnection
spool
- theObjectPool
in which to pool thoseConnection
sstmtPoolFactory
- theKeyedObjectPoolFactory
to use to createKeyedObjectPool
s for poolingPreparedStatement
s, or null to disablePreparedStatement
poolingvalidationQuery
- a query to use tovalidate
Connection
s. Should return at least one row. Using null turns off validation.connectionInitSqls
- a Collection of SQL statements to initializeConnection
s. Using null turns off initialization.defaultReadOnly
- the default "read only" setting for borrowedConnection
sdefaultAutoCommit
- the default "auto commit" setting for returnedConnection
s- Since:
- 1.3
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, int validationQueryTimeout, boolean defaultReadOnly, boolean defaultAutoCommit)
Create a new PoolableConnectionFactory.- Parameters:
connFactory
- theConnectionFactory
from which to obtain baseConnection
spool
- theObjectPool
in which to pool thoseConnection
sstmtPoolFactory
- theKeyedObjectPoolFactory
to use to createKeyedObjectPool
s for poolingPreparedStatement
s, or null to disablePreparedStatement
poolingvalidationQuery
- a query to use tovalidate
Connection
s. Should return at least one row. Using null turns off validation.validationQueryTimeout
- the number of seconds that validation queries will wait for database response before failing. Use a value less than or equal to 0 for no timeout.defaultReadOnly
- the default "read only" setting for borrowedConnection
sdefaultAutoCommit
- the default "auto commit" setting for returnedConnection
s- Since:
- 1.3
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, int validationQueryTimeout, Collection connectionInitSqls, boolean defaultReadOnly, boolean defaultAutoCommit)
Create a new PoolableConnectionFactory.- Parameters:
connFactory
- theConnectionFactory
from which to obtain baseConnection
spool
- theObjectPool
in which to pool thoseConnection
sstmtPoolFactory
- theKeyedObjectPoolFactory
to use to createKeyedObjectPool
s for poolingPreparedStatement
s, or null to disablePreparedStatement
poolingvalidationQuery
- a query to use tovalidate
Connection
s. Should return at least one row. Using null turns off validation.validationQueryTimeout
- the number of seconds that validation queries will wait for database response before failing. Use a value less than or equal to 0 for no timeout.connectionInitSqls
- a Collection of SQL statements to initializeConnection
s. Using null turns off initialization.defaultReadOnly
- the default "read only" setting for borrowedConnection
sdefaultAutoCommit
- the default "auto commit" setting for returnedConnection
s- Since:
- 1.3
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation)
Create a new PoolableConnectionFactory.- Parameters:
connFactory
- theConnectionFactory
from which to obtain baseConnection
spool
- theObjectPool
in which to pool thoseConnection
sstmtPoolFactory
- theKeyedObjectPoolFactory
to use to createKeyedObjectPool
s for poolingPreparedStatement
s, or null to disablePreparedStatement
poolingvalidationQuery
- a query to use tovalidate
Connection
s. Should return at least one row. Using null turns off validation.defaultReadOnly
- the default "read only" setting for borrowedConnection
sdefaultAutoCommit
- the default "auto commit" setting for returnedConnection
sdefaultTransactionIsolation
- the default "Transaction Isolation" setting for returnedConnection
s
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, Collection connectionInitSqls, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation)
Create a new PoolableConnectionFactory.- Parameters:
connFactory
- theConnectionFactory
from which to obtain baseConnection
spool
- theObjectPool
in which to pool thoseConnection
sstmtPoolFactory
- theKeyedObjectPoolFactory
to use to createKeyedObjectPool
s for poolingPreparedStatement
s, or null to disablePreparedStatement
poolingvalidationQuery
- a query to use tovalidate
Connection
s. Should return at least one row. Using null turns off validation.connectionInitSqls
- a Collection of SQL statement to initializeConnection
s. Using null turns off initialization.defaultReadOnly
- the default "read only" setting for borrowedConnection
sdefaultAutoCommit
- the default "auto commit" setting for returnedConnection
sdefaultTransactionIsolation
- the default "Transaction Isolation" setting for returnedConnection
s- Since:
- 1.3
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, int validationQueryTimeout, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation)
Create a new PoolableConnectionFactory.- Parameters:
connFactory
- theConnectionFactory
from which to obtain baseConnection
spool
- theObjectPool
in which to pool thoseConnection
sstmtPoolFactory
- theKeyedObjectPoolFactory
to use to createKeyedObjectPool
s for poolingPreparedStatement
s, or null to disablePreparedStatement
poolingvalidationQuery
- a query to use tovalidate
Connection
s. Should return at least one row. Using null turns off validation.validationQueryTimeout
- the number of seconds that validation queries will wait for database response before failing. Use a value less than or equal to 0 for no timeout.defaultReadOnly
- the default "read only" setting for borrowedConnection
sdefaultAutoCommit
- the default "auto commit" setting for returnedConnection
sdefaultTransactionIsolation
- the default "Transaction Isolation" setting for returnedConnection
s- Since:
- 1.3
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, int validationQueryTimeout, Collection connectionInitSqls, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation)
Create a new PoolableConnectionFactory.- Parameters:
connFactory
- theConnectionFactory
from which to obtain baseConnection
spool
- theObjectPool
in which to pool thoseConnection
sstmtPoolFactory
- theKeyedObjectPoolFactory
to use to createKeyedObjectPool
s for poolingPreparedStatement
s, or null to disablePreparedStatement
poolingvalidationQuery
- a query to use tovalidate
Connection
s. Should return at least one row. Using null turns off validation.validationQueryTimeout
- the number of seconds that validation queries will wait for database response before failing. Use a value less than or equal to 0 for no timeout.connectionInitSqls
- a Collection of SQL statement to initializeConnection
s. Using null turns off initialization.defaultReadOnly
- the default "read only" setting for borrowedConnection
sdefaultAutoCommit
- the default "auto commit" setting for returnedConnection
sdefaultTransactionIsolation
- the default "Transaction Isolation" setting for returnedConnection
s- Since:
- 1.3
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit, AbandonedConfig config)
Create a new PoolableConnectionFactory.- Parameters:
connFactory
- theConnectionFactory
from which to obtain baseConnection
spool
- theObjectPool
in which to pool thoseConnection
sstmtPoolFactory
- theKeyedObjectPoolFactory
to use to createKeyedObjectPool
s for poolingPreparedStatement
s, or null to disablePreparedStatement
poolingvalidationQuery
- a query to use tovalidate
Connection
s. Should return at least one row. Using null turns off validation.defaultReadOnly
- the default "read only" setting for borrowedConnection
sdefaultAutoCommit
- the default "auto commit" setting for returnedConnection
sconfig
- the AbandonedConfig if tracing SQL objects
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, AbandonedConfig config)
Create a new PoolableConnectionFactory.- Parameters:
connFactory
- theConnectionFactory
from which to obtain baseConnection
spool
- theObjectPool
in which to pool thoseConnection
sstmtPoolFactory
- theKeyedObjectPoolFactory
to use to createKeyedObjectPool
s for poolingPreparedStatement
s, or null to disablePreparedStatement
poolingvalidationQuery
- a query to use tovalidate
Connection
s. Should return at least one row. Using null turns off validation.defaultReadOnly
- the default "read only" setting for borrowedConnection
sdefaultAutoCommit
- the default "auto commit" setting for returnedConnection
sdefaultTransactionIsolation
- the default "Transaction Isolation" setting for returnedConnection
sconfig
- the AbandonedConfig if tracing SQL objects
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, String defaultCatalog, AbandonedConfig config)
Create a new PoolableConnectionFactory.- Parameters:
connFactory
- theConnectionFactory
from which to obtain baseConnection
spool
- theObjectPool
in which to pool thoseConnection
sstmtPoolFactory
- theKeyedObjectPoolFactory
to use to createKeyedObjectPool
s for poolingPreparedStatement
s, or null to disablePreparedStatement
poolingvalidationQuery
- a query to use tovalidate
Connection
s. Should return at least one row. Using null turns off validation.defaultReadOnly
- the default "read only" setting for borrowedConnection
sdefaultAutoCommit
- the default "auto commit" setting for returnedConnection
sdefaultTransactionIsolation
- the default "Transaction Isolation" setting for returnedConnection
sdefaultCatalog
- the default "catalog" setting for returnedConnection
sconfig
- the AbandonedConfig if tracing SQL objects
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, String defaultCatalog, AbandonedConfig config)
Create a new PoolableConnectionFactory.- Parameters:
connFactory
- theConnectionFactory
from which to obtain baseConnection
spool
- theObjectPool
in which to pool thoseConnection
sstmtPoolFactory
- theKeyedObjectPoolFactory
to use to createKeyedObjectPool
s for poolingPreparedStatement
s, or null to disablePreparedStatement
poolingvalidationQuery
- a query to use tovalidate
Connection
s. Should return at least one row. Using null turns off validation.defaultReadOnly
- the default "read only" setting for borrowedConnection
sdefaultAutoCommit
- the default "auto commit" setting for returnedConnection
sdefaultTransactionIsolation
- the default "Transaction Isolation" setting for returnedConnection
sdefaultCatalog
- the default "catalog" setting for returnedConnection
sconfig
- the AbandonedConfig if tracing SQL objects
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, Collection connectionInitSqls, Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, String defaultCatalog, AbandonedConfig config)
Create a new PoolableConnectionFactory.- Parameters:
connFactory
- theConnectionFactory
from which to obtain baseConnection
spool
- theObjectPool
in which to pool thoseConnection
sstmtPoolFactory
- theKeyedObjectPoolFactory
to use to createKeyedObjectPool
s for poolingPreparedStatement
s, or null to disablePreparedStatement
poolingvalidationQuery
- a query to use tovalidate
Connection
s. Should return at least one row. Using null turns off validation.connectionInitSqls
- a Collection of SQL statements to initializeConnection
s. Using null turns off initialization.defaultReadOnly
- the default "read only" setting for borrowedConnection
sdefaultAutoCommit
- the default "auto commit" setting for returnedConnection
sdefaultTransactionIsolation
- the default "Transaction Isolation" setting for returnedConnection
sdefaultCatalog
- the default "catalog" setting for returnedConnection
sconfig
- the AbandonedConfig if tracing SQL objects- Since:
- 1.3
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, int validationQueryTimeout, Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, String defaultCatalog, AbandonedConfig config)
Create a new PoolableConnectionFactory.- Parameters:
connFactory
- theConnectionFactory
from which to obtain baseConnection
spool
- theObjectPool
in which to pool thoseConnection
sstmtPoolFactory
- theKeyedObjectPoolFactory
to use to createKeyedObjectPool
s for poolingPreparedStatement
s, or null to disablePreparedStatement
poolingvalidationQuery
- a query to use tovalidate
Connection
s. Should return at least one row. Using null turns off validation.validationQueryTimeout
- the number of seconds that validation queries will wait for database response before failing. Use a value less than or equal to 0 for no timeout.defaultReadOnly
- the default "read only" setting for borrowedConnection
sdefaultAutoCommit
- the default "auto commit" setting for returnedConnection
sdefaultTransactionIsolation
- the default "Transaction Isolation" setting for returnedConnection
sdefaultCatalog
- the default "catalog" setting for returnedConnection
sconfig
- the AbandonedConfig if tracing SQL objects- Since:
- 1.3
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, String validationQuery, int validationQueryTimeout, Collection connectionInitSqls, Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, String defaultCatalog, AbandonedConfig config)
Create a new PoolableConnectionFactory.- Parameters:
connFactory
- theConnectionFactory
from which to obtain baseConnection
spool
- theObjectPool
in which to pool thoseConnection
sstmtPoolFactory
- theKeyedObjectPoolFactory
to use to createKeyedObjectPool
s for poolingPreparedStatement
s, or null to disablePreparedStatement
poolingvalidationQuery
- a query to use tovalidate
Connection
s. Should return at least one row. Using null turns off validation.validationQueryTimeout
- the number of seconds that validation queries will wait for database response before failing. Use a value less than or equal to 0 for no timeout.connectionInitSqls
- a Collection of SQL statements to initializeConnection
s. Using null turns off initialization.defaultReadOnly
- the default "read only" setting for borrowedConnection
sdefaultAutoCommit
- the default "auto commit" setting for returnedConnection
sdefaultTransactionIsolation
- the default "Transaction Isolation" setting for returnedConnection
sdefaultCatalog
- the default "catalog" setting for returnedConnection
sconfig
- the AbandonedConfig if tracing SQL objects- Since:
- 1.3
-
-
Method Detail
-
setConnectionFactory
public void setConnectionFactory(ConnectionFactory connFactory)
Sets theConnectionFactory
from which to obtain baseConnection
s.- Parameters:
connFactory
- theConnectionFactory
from which to obtain baseConnection
s
-
setValidationQuery
public void setValidationQuery(String validationQuery)
Sets the query I use tovalidate
Connection
s. Should return at least one row. Using null turns off validation.- Parameters:
validationQuery
- a query to use tovalidate
Connection
s.
-
setValidationQueryTimeout
public void setValidationQueryTimeout(int timeout)
Sets the validation query timeout, the amount of time, in seconds, that connection validation will wait for a response from the database when executing a validation query. Use a value less than or equal to 0 for no timeout.- Parameters:
timeout
- new validation query timeout value in seconds- Since:
- 1.3
-
setConnectionInitSql
public void setConnectionInitSql(Collection connectionInitSqls)
Sets the SQL statements I use to initialize newly createdConnection
s. Using null turns off connection initialization.- Parameters:
connectionInitSqls
- SQL statement to initializeConnection
s.- Since:
- 1.3
-
setPool
public void setPool(org.apache.commons.pool.ObjectPool pool)
Sets theObjectPool
in which to poolConnection
s.- Parameters:
pool
- theObjectPool
in which to pool thoseConnection
s
-
getPool
public org.apache.commons.pool.ObjectPool getPool()
Returns theObjectPool
in whichConnection
s are pooled.- Returns:
- the connection pool
-
setStatementPoolFactory
public void setStatementPoolFactory(org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory)
Sets theKeyedObjectPoolFactory
I use to createKeyedObjectPool
s for poolingPreparedStatement
s. Set to null to disablePreparedStatement
pooling.- Parameters:
stmtPoolFactory
- theKeyedObjectPoolFactory
to use to createKeyedObjectPool
s for poolingPreparedStatement
s
-
setDefaultReadOnly
public void setDefaultReadOnly(boolean defaultReadOnly)
Sets the default "read only" setting for borrowedConnection
s- Parameters:
defaultReadOnly
- the default "read only" setting for borrowedConnection
s
-
setDefaultAutoCommit
public void setDefaultAutoCommit(boolean defaultAutoCommit)
Sets the default "auto commit" setting for borrowedConnection
s- Parameters:
defaultAutoCommit
- the default "auto commit" setting for borrowedConnection
s
-
setDefaultTransactionIsolation
public void setDefaultTransactionIsolation(int defaultTransactionIsolation)
Sets the default "Transaction Isolation" setting for borrowedConnection
s- Parameters:
defaultTransactionIsolation
- the default "Transaction Isolation" setting for returnedConnection
s
-
setDefaultCatalog
public void setDefaultCatalog(String defaultCatalog)
Sets the default "catalog" setting for borrowedConnection
s- Parameters:
defaultCatalog
- the default "catalog" setting for borrowedConnection
s
-
makeObject
public Object makeObject() throws Exception
- Specified by:
makeObject
in interfaceorg.apache.commons.pool.PoolableObjectFactory
- Throws:
Exception
-
initializeConnection
protected void initializeConnection(Connection conn) throws SQLException
- Throws:
SQLException
-
destroyObject
public void destroyObject(Object obj) throws Exception
- Specified by:
destroyObject
in interfaceorg.apache.commons.pool.PoolableObjectFactory
- Throws:
Exception
-
validateObject
public boolean validateObject(Object obj)
- Specified by:
validateObject
in interfaceorg.apache.commons.pool.PoolableObjectFactory
-
validateConnection
public void validateConnection(Connection conn) throws SQLException
- Throws:
SQLException
-
passivateObject
public void passivateObject(Object obj) throws Exception
- Specified by:
passivateObject
in interfaceorg.apache.commons.pool.PoolableObjectFactory
- Throws:
Exception
-
-