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 java.lang.Object implements org.apache.commons.pool.PoolableObjectFactoryAPoolableObjectFactorythat createsPoolableConnections.- 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_configConfiguration for removing abandoned connections.protected java.util.Collection_connectionInitSqlsprotected ConnectionFactory_connFactoryprotected boolean_defaultAutoCommitprotected java.lang.String_defaultCatalogprotected java.lang.Boolean_defaultReadOnlyprotected int_defaultTransactionIsolationprotected org.apache.commons.pool.ObjectPool_poolprotected org.apache.commons.pool.KeyedObjectPoolFactory_stmtPoolFactoryprotected java.lang.String_validationQueryprotected int_validationQueryTimeout
-
Constructor Summary
Constructors Constructor Description PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.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, java.lang.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, java.lang.String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, java.lang.String defaultCatalog, AbandonedConfig config)Create a new PoolableConnectionFactory.PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.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, java.lang.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, java.lang.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, java.lang.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, java.lang.String validationQuery, int validationQueryTimeout, java.lang.Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, java.lang.String defaultCatalog, AbandonedConfig config)Create a new PoolableConnectionFactory.PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, int validationQueryTimeout, java.util.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, java.lang.String validationQuery, int validationQueryTimeout, java.util.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, java.lang.String validationQuery, int validationQueryTimeout, java.util.Collection connectionInitSqls, java.lang.Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, java.lang.String defaultCatalog, AbandonedConfig config)Create a new PoolableConnectionFactory.PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, java.lang.Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, java.lang.String defaultCatalog, AbandonedConfig config)Create a new PoolableConnectionFactory.PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, java.util.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, java.lang.String validationQuery, java.util.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, java.lang.String validationQuery, java.util.Collection connectionInitSqls, java.lang.Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, java.lang.String defaultCatalog, AbandonedConfig config)Create a new PoolableConnectionFactory.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactivateObject(java.lang.Object obj)voiddestroyObject(java.lang.Object obj)org.apache.commons.pool.ObjectPoolgetPool()Returns theObjectPoolin whichConnections are pooled.protected voidinitializeConnection(java.sql.Connection conn)java.lang.ObjectmakeObject()voidpassivateObject(java.lang.Object obj)voidsetConnectionFactory(ConnectionFactory connFactory)Sets theConnectionFactoryfrom which to obtain baseConnections.voidsetConnectionInitSql(java.util.Collection connectionInitSqls)Sets the SQL statements I use to initialize newly createdConnections.voidsetDefaultAutoCommit(boolean defaultAutoCommit)Sets the default "auto commit" setting for borrowedConnectionsvoidsetDefaultCatalog(java.lang.String defaultCatalog)Sets the default "catalog" setting for borrowedConnectionsvoidsetDefaultReadOnly(boolean defaultReadOnly)Sets the default "read only" setting for borrowedConnectionsvoidsetDefaultTransactionIsolation(int defaultTransactionIsolation)Sets the default "Transaction Isolation" setting for borrowedConnectionsvoidsetPool(org.apache.commons.pool.ObjectPool pool)Sets theObjectPoolin which to poolConnections.voidsetStatementPoolFactory(org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory)Sets theKeyedObjectPoolFactoryI use to createKeyedObjectPools for poolingPreparedStatements.voidsetValidationQuery(java.lang.String validationQuery)Sets the query I use tovalidateConnections.voidsetValidationQueryTimeout(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.voidvalidateConnection(java.sql.Connection conn)booleanvalidateObject(java.lang.Object obj)
-
-
-
Field Detail
-
_connFactory
protected volatile ConnectionFactory _connFactory
-
_validationQuery
protected volatile java.lang.String _validationQuery
-
_validationQueryTimeout
protected volatile int _validationQueryTimeout
-
_connectionInitSqls
protected java.util.Collection _connectionInitSqls
-
_pool
protected volatile org.apache.commons.pool.ObjectPool _pool
-
_stmtPoolFactory
protected volatile org.apache.commons.pool.KeyedObjectPoolFactory _stmtPoolFactory
-
_defaultReadOnly
protected java.lang.Boolean _defaultReadOnly
-
_defaultAutoCommit
protected boolean _defaultAutoCommit
-
_defaultTransactionIsolation
protected int _defaultTransactionIsolation
-
_defaultCatalog
protected java.lang.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, java.lang.String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit)
Create a new PoolableConnectionFactory.- Parameters:
connFactory- theConnectionFactoryfrom which to obtain baseConnectionspool- theObjectPoolin which to pool thoseConnectionsstmtPoolFactory- theKeyedObjectPoolFactoryto use to createKeyedObjectPools for poolingPreparedStatements, or null to disablePreparedStatementpoolingvalidationQuery- a query to use tovalidateConnections. Should return at least one row. Using null turns off validation.defaultReadOnly- the default "read only" setting for borrowedConnectionsdefaultAutoCommit- the default "auto commit" setting for returnedConnections
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, java.util.Collection connectionInitSqls, boolean defaultReadOnly, boolean defaultAutoCommit)
Create a new PoolableConnectionFactory.- Parameters:
connFactory- theConnectionFactoryfrom which to obtain baseConnectionspool- theObjectPoolin which to pool thoseConnectionsstmtPoolFactory- theKeyedObjectPoolFactoryto use to createKeyedObjectPools for poolingPreparedStatements, or null to disablePreparedStatementpoolingvalidationQuery- a query to use tovalidateConnections. Should return at least one row. Using null turns off validation.connectionInitSqls- a Collection of SQL statements to initializeConnections. Using null turns off initialization.defaultReadOnly- the default "read only" setting for borrowedConnectionsdefaultAutoCommit- the default "auto commit" setting for returnedConnections- Since:
- 1.3
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, int validationQueryTimeout, boolean defaultReadOnly, boolean defaultAutoCommit)
Create a new PoolableConnectionFactory.- Parameters:
connFactory- theConnectionFactoryfrom which to obtain baseConnectionspool- theObjectPoolin which to pool thoseConnectionsstmtPoolFactory- theKeyedObjectPoolFactoryto use to createKeyedObjectPools for poolingPreparedStatements, or null to disablePreparedStatementpoolingvalidationQuery- a query to use tovalidateConnections. 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 borrowedConnectionsdefaultAutoCommit- the default "auto commit" setting for returnedConnections- Since:
- 1.3
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, int validationQueryTimeout, java.util.Collection connectionInitSqls, boolean defaultReadOnly, boolean defaultAutoCommit)
Create a new PoolableConnectionFactory.- Parameters:
connFactory- theConnectionFactoryfrom which to obtain baseConnectionspool- theObjectPoolin which to pool thoseConnectionsstmtPoolFactory- theKeyedObjectPoolFactoryto use to createKeyedObjectPools for poolingPreparedStatements, or null to disablePreparedStatementpoolingvalidationQuery- a query to use tovalidateConnections. 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 initializeConnections. Using null turns off initialization.defaultReadOnly- the default "read only" setting for borrowedConnectionsdefaultAutoCommit- the default "auto commit" setting for returnedConnections- Since:
- 1.3
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation)
Create a new PoolableConnectionFactory.- Parameters:
connFactory- theConnectionFactoryfrom which to obtain baseConnectionspool- theObjectPoolin which to pool thoseConnectionsstmtPoolFactory- theKeyedObjectPoolFactoryto use to createKeyedObjectPools for poolingPreparedStatements, or null to disablePreparedStatementpoolingvalidationQuery- a query to use tovalidateConnections. Should return at least one row. Using null turns off validation.defaultReadOnly- the default "read only" setting for borrowedConnectionsdefaultAutoCommit- the default "auto commit" setting for returnedConnectionsdefaultTransactionIsolation- the default "Transaction Isolation" setting for returnedConnections
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, java.util.Collection connectionInitSqls, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation)
Create a new PoolableConnectionFactory.- Parameters:
connFactory- theConnectionFactoryfrom which to obtain baseConnectionspool- theObjectPoolin which to pool thoseConnectionsstmtPoolFactory- theKeyedObjectPoolFactoryto use to createKeyedObjectPools for poolingPreparedStatements, or null to disablePreparedStatementpoolingvalidationQuery- a query to use tovalidateConnections. Should return at least one row. Using null turns off validation.connectionInitSqls- a Collection of SQL statement to initializeConnections. Using null turns off initialization.defaultReadOnly- the default "read only" setting for borrowedConnectionsdefaultAutoCommit- the default "auto commit" setting for returnedConnectionsdefaultTransactionIsolation- the default "Transaction Isolation" setting for returnedConnections- Since:
- 1.3
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, int validationQueryTimeout, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation)
Create a new PoolableConnectionFactory.- Parameters:
connFactory- theConnectionFactoryfrom which to obtain baseConnectionspool- theObjectPoolin which to pool thoseConnectionsstmtPoolFactory- theKeyedObjectPoolFactoryto use to createKeyedObjectPools for poolingPreparedStatements, or null to disablePreparedStatementpoolingvalidationQuery- a query to use tovalidateConnections. 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 borrowedConnectionsdefaultAutoCommit- the default "auto commit" setting for returnedConnectionsdefaultTransactionIsolation- the default "Transaction Isolation" setting for returnedConnections- Since:
- 1.3
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, int validationQueryTimeout, java.util.Collection connectionInitSqls, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation)
Create a new PoolableConnectionFactory.- Parameters:
connFactory- theConnectionFactoryfrom which to obtain baseConnectionspool- theObjectPoolin which to pool thoseConnectionsstmtPoolFactory- theKeyedObjectPoolFactoryto use to createKeyedObjectPools for poolingPreparedStatements, or null to disablePreparedStatementpoolingvalidationQuery- a query to use tovalidateConnections. 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 initializeConnections. Using null turns off initialization.defaultReadOnly- the default "read only" setting for borrowedConnectionsdefaultAutoCommit- the default "auto commit" setting for returnedConnectionsdefaultTransactionIsolation- the default "Transaction Isolation" setting for returnedConnections- Since:
- 1.3
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit, AbandonedConfig config)
Create a new PoolableConnectionFactory.- Parameters:
connFactory- theConnectionFactoryfrom which to obtain baseConnectionspool- theObjectPoolin which to pool thoseConnectionsstmtPoolFactory- theKeyedObjectPoolFactoryto use to createKeyedObjectPools for poolingPreparedStatements, or null to disablePreparedStatementpoolingvalidationQuery- a query to use tovalidateConnections. Should return at least one row. Using null turns off validation.defaultReadOnly- the default "read only" setting for borrowedConnectionsdefaultAutoCommit- the default "auto commit" setting for returnedConnectionsconfig- the AbandonedConfig if tracing SQL objects
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, AbandonedConfig config)
Create a new PoolableConnectionFactory.- Parameters:
connFactory- theConnectionFactoryfrom which to obtain baseConnectionspool- theObjectPoolin which to pool thoseConnectionsstmtPoolFactory- theKeyedObjectPoolFactoryto use to createKeyedObjectPools for poolingPreparedStatements, or null to disablePreparedStatementpoolingvalidationQuery- a query to use tovalidateConnections. Should return at least one row. Using null turns off validation.defaultReadOnly- the default "read only" setting for borrowedConnectionsdefaultAutoCommit- the default "auto commit" setting for returnedConnectionsdefaultTransactionIsolation- the default "Transaction Isolation" setting for returnedConnectionsconfig- the AbandonedConfig if tracing SQL objects
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, java.lang.String defaultCatalog, AbandonedConfig config)
Create a new PoolableConnectionFactory.- Parameters:
connFactory- theConnectionFactoryfrom which to obtain baseConnectionspool- theObjectPoolin which to pool thoseConnectionsstmtPoolFactory- theKeyedObjectPoolFactoryto use to createKeyedObjectPools for poolingPreparedStatements, or null to disablePreparedStatementpoolingvalidationQuery- a query to use tovalidateConnections. Should return at least one row. Using null turns off validation.defaultReadOnly- the default "read only" setting for borrowedConnectionsdefaultAutoCommit- the default "auto commit" setting for returnedConnectionsdefaultTransactionIsolation- the default "Transaction Isolation" setting for returnedConnectionsdefaultCatalog- the default "catalog" setting for returnedConnectionsconfig- the AbandonedConfig if tracing SQL objects
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, java.lang.Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, java.lang.String defaultCatalog, AbandonedConfig config)
Create a new PoolableConnectionFactory.- Parameters:
connFactory- theConnectionFactoryfrom which to obtain baseConnectionspool- theObjectPoolin which to pool thoseConnectionsstmtPoolFactory- theKeyedObjectPoolFactoryto use to createKeyedObjectPools for poolingPreparedStatements, or null to disablePreparedStatementpoolingvalidationQuery- a query to use tovalidateConnections. Should return at least one row. Using null turns off validation.defaultReadOnly- the default "read only" setting for borrowedConnectionsdefaultAutoCommit- the default "auto commit" setting for returnedConnectionsdefaultTransactionIsolation- the default "Transaction Isolation" setting for returnedConnectionsdefaultCatalog- the default "catalog" setting for returnedConnectionsconfig- the AbandonedConfig if tracing SQL objects
-
PoolableConnectionFactory
public PoolableConnectionFactory(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, java.util.Collection connectionInitSqls, java.lang.Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, java.lang.String defaultCatalog, AbandonedConfig config)
Create a new PoolableConnectionFactory.- Parameters:
connFactory- theConnectionFactoryfrom which to obtain baseConnectionspool- theObjectPoolin which to pool thoseConnectionsstmtPoolFactory- theKeyedObjectPoolFactoryto use to createKeyedObjectPools for poolingPreparedStatements, or null to disablePreparedStatementpoolingvalidationQuery- a query to use tovalidateConnections. Should return at least one row. Using null turns off validation.connectionInitSqls- a Collection of SQL statements to initializeConnections. Using null turns off initialization.defaultReadOnly- the default "read only" setting for borrowedConnectionsdefaultAutoCommit- the default "auto commit" setting for returnedConnectionsdefaultTransactionIsolation- the default "Transaction Isolation" setting for returnedConnectionsdefaultCatalog- the default "catalog" setting for returnedConnectionsconfig- 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, java.lang.String validationQuery, int validationQueryTimeout, java.lang.Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, java.lang.String defaultCatalog, AbandonedConfig config)
Create a new PoolableConnectionFactory.- Parameters:
connFactory- theConnectionFactoryfrom which to obtain baseConnectionspool- theObjectPoolin which to pool thoseConnectionsstmtPoolFactory- theKeyedObjectPoolFactoryto use to createKeyedObjectPools for poolingPreparedStatements, or null to disablePreparedStatementpoolingvalidationQuery- a query to use tovalidateConnections. 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 borrowedConnectionsdefaultAutoCommit- the default "auto commit" setting for returnedConnectionsdefaultTransactionIsolation- the default "Transaction Isolation" setting for returnedConnectionsdefaultCatalog- the default "catalog" setting for returnedConnectionsconfig- 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, java.lang.String validationQuery, int validationQueryTimeout, java.util.Collection connectionInitSqls, java.lang.Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, java.lang.String defaultCatalog, AbandonedConfig config)
Create a new PoolableConnectionFactory.- Parameters:
connFactory- theConnectionFactoryfrom which to obtain baseConnectionspool- theObjectPoolin which to pool thoseConnectionsstmtPoolFactory- theKeyedObjectPoolFactoryto use to createKeyedObjectPools for poolingPreparedStatements, or null to disablePreparedStatementpoolingvalidationQuery- a query to use tovalidateConnections. 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 initializeConnections. Using null turns off initialization.defaultReadOnly- the default "read only" setting for borrowedConnectionsdefaultAutoCommit- the default "auto commit" setting for returnedConnectionsdefaultTransactionIsolation- the default "Transaction Isolation" setting for returnedConnectionsdefaultCatalog- the default "catalog" setting for returnedConnectionsconfig- the AbandonedConfig if tracing SQL objects- Since:
- 1.3
-
-
Method Detail
-
setConnectionFactory
public void setConnectionFactory(ConnectionFactory connFactory)
Sets theConnectionFactoryfrom which to obtain baseConnections.- Parameters:
connFactory- theConnectionFactoryfrom which to obtain baseConnections
-
setValidationQuery
public void setValidationQuery(java.lang.String validationQuery)
Sets the query I use tovalidateConnections. Should return at least one row. Using null turns off validation.- Parameters:
validationQuery- a query to use tovalidateConnections.
-
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(java.util.Collection connectionInitSqls)
Sets the SQL statements I use to initialize newly createdConnections. Using null turns off connection initialization.- Parameters:
connectionInitSqls- SQL statement to initializeConnections.- Since:
- 1.3
-
setPool
public void setPool(org.apache.commons.pool.ObjectPool pool)
Sets theObjectPoolin which to poolConnections.- Parameters:
pool- theObjectPoolin which to pool thoseConnections
-
getPool
public org.apache.commons.pool.ObjectPool getPool()
Returns theObjectPoolin whichConnections are pooled.- Returns:
- the connection pool
-
setStatementPoolFactory
public void setStatementPoolFactory(org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory)
Sets theKeyedObjectPoolFactoryI use to createKeyedObjectPools for poolingPreparedStatements. Set to null to disablePreparedStatementpooling.- Parameters:
stmtPoolFactory- theKeyedObjectPoolFactoryto use to createKeyedObjectPools for poolingPreparedStatements
-
setDefaultReadOnly
public void setDefaultReadOnly(boolean defaultReadOnly)
Sets the default "read only" setting for borrowedConnections- Parameters:
defaultReadOnly- the default "read only" setting for borrowedConnections
-
setDefaultAutoCommit
public void setDefaultAutoCommit(boolean defaultAutoCommit)
Sets the default "auto commit" setting for borrowedConnections- Parameters:
defaultAutoCommit- the default "auto commit" setting for borrowedConnections
-
setDefaultTransactionIsolation
public void setDefaultTransactionIsolation(int defaultTransactionIsolation)
Sets the default "Transaction Isolation" setting for borrowedConnections- Parameters:
defaultTransactionIsolation- the default "Transaction Isolation" setting for returnedConnections
-
setDefaultCatalog
public void setDefaultCatalog(java.lang.String defaultCatalog)
Sets the default "catalog" setting for borrowedConnections- Parameters:
defaultCatalog- the default "catalog" setting for borrowedConnections
-
makeObject
public java.lang.Object makeObject() throws java.lang.Exception- Specified by:
makeObjectin interfaceorg.apache.commons.pool.PoolableObjectFactory- Throws:
java.lang.Exception
-
initializeConnection
protected void initializeConnection(java.sql.Connection conn) throws java.sql.SQLException- Throws:
java.sql.SQLException
-
destroyObject
public void destroyObject(java.lang.Object obj) throws java.lang.Exception- Specified by:
destroyObjectin interfaceorg.apache.commons.pool.PoolableObjectFactory- Throws:
java.lang.Exception
-
validateObject
public boolean validateObject(java.lang.Object obj)
- Specified by:
validateObjectin interfaceorg.apache.commons.pool.PoolableObjectFactory
-
validateConnection
public void validateConnection(java.sql.Connection conn) throws java.sql.SQLException- Throws:
java.sql.SQLException
-
passivateObject
public void passivateObject(java.lang.Object obj) throws java.lang.Exception- Specified by:
passivateObjectin interfaceorg.apache.commons.pool.PoolableObjectFactory- Throws:
java.lang.Exception
-
activateObject
public void activateObject(java.lang.Object obj) throws java.lang.Exception- Specified by:
activateObjectin interfaceorg.apache.commons.pool.PoolableObjectFactory- Throws:
java.lang.Exception
-
-