public class PoolableConnectionFactory extends java.lang.Object implements org.apache.commons.pool2.PooledObjectFactory<PoolableConnection>
PooledObjectFactory that creates
PoolableConnections.| Constructor and Description |
|---|
PoolableConnectionFactory(ConnectionFactory connFactory,
javax.management.ObjectName dataSourceJmxName)
Create a new
PoolableConnectionFactory. |
| Modifier and Type | Method and Description |
|---|---|
void |
activateObject(org.apache.commons.pool2.PooledObject<PoolableConnection> p) |
void |
destroyObject(org.apache.commons.pool2.PooledObject<PoolableConnection> p) |
java.lang.Integer |
getDefaultQueryTimeout() |
java.util.Collection<java.lang.String> |
getDisconnectionSqlCodes()
SQL_STATE codes considered to signal fatal conditions.
|
org.apache.commons.pool2.ObjectPool<PoolableConnection> |
getPool()
Returns the
ObjectPool in which Connections are pooled. |
boolean |
isEnableAutoCommitOnReturn() |
boolean |
isFastFailValidation()
True means that validation will fail immediately for connections that
have previously thrown SQLExceptions with SQL_STATE indicating fatal
disconnection errors.
|
boolean |
isRollbackOnReturn() |
org.apache.commons.pool2.PooledObject<PoolableConnection> |
makeObject() |
void |
passivateObject(org.apache.commons.pool2.PooledObject<PoolableConnection> p) |
void |
setCacheState(boolean cacheState) |
void |
setConnectionInitSql(java.util.Collection<java.lang.String> connectionInitSqls)
Sets the SQL statements I use to initialize newly created
Connections. |
void |
setDefaultAutoCommit(java.lang.Boolean defaultAutoCommit)
Sets the default "auto commit" setting for borrowed
Connections |
void |
setDefaultCatalog(java.lang.String defaultCatalog)
Sets the default "catalog" setting for borrowed
Connections |
void |
setDefaultQueryTimeout(java.lang.Integer defaultQueryTimeout) |
void |
setDefaultReadOnly(java.lang.Boolean defaultReadOnly)
Sets the default "read only" setting for borrowed
Connections |
void |
setDefaultTransactionIsolation(int defaultTransactionIsolation)
Sets the default "Transaction Isolation" setting for borrowed
Connections |
void |
setDisconnectionSqlCodes(java.util.Collection<java.lang.String> disconnectionSqlCodes) |
void |
setEnableAutoCommitOnReturn(boolean enableAutoCommitOnReturn) |
void |
setFastFailValidation(boolean fastFailValidation) |
void |
setMaxConnLifetimeMillis(long maxConnLifetimeMillis)
Sets the maximum lifetime in milliseconds of a connection after which the
connection will always fail activation, passivation and validation.
|
void |
setMaxOpenPrepatedStatements(int maxOpenPreparedStatements) |
void |
setPool(org.apache.commons.pool2.ObjectPool<PoolableConnection> pool)
Sets the
ObjectPool in which to pool Connections. |
void |
setPoolStatements(boolean poolStatements) |
void |
setRollbackOnReturn(boolean rollbackOnReturn) |
void |
setValidationQuery(java.lang.String validationQuery)
Sets the query I use to
validate Connections. |
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(PoolableConnection conn) |
boolean |
validateObject(org.apache.commons.pool2.PooledObject<PoolableConnection> p) |
public PoolableConnectionFactory(ConnectionFactory connFactory, javax.management.ObjectName dataSourceJmxName)
PoolableConnectionFactory.connFactory - the ConnectionFactory from which to obtain
base Connectionspublic void activateObject(org.apache.commons.pool2.PooledObject<PoolableConnection> p) throws java.lang.Exception
activateObject in interface org.apache.commons.pool2.PooledObjectFactory<PoolableConnection>java.lang.Exceptionpublic void destroyObject(org.apache.commons.pool2.PooledObject<PoolableConnection> p) throws java.lang.Exception
destroyObject in interface org.apache.commons.pool2.PooledObjectFactory<PoolableConnection>java.lang.Exceptionpublic java.lang.Integer getDefaultQueryTimeout()
public java.util.Collection<java.lang.String> getDisconnectionSqlCodes()
Overrides the defaults in Utils.DISCONNECTION_SQL_CODES
(plus anything starting with Utils.DISCONNECTION_SQL_CODE_PREFIX).
If this property is non-null and isFastFailValidation() is
true, whenever connections created by this factory generate exceptions
with SQL_STATE codes in this list, they will be marked as "fatally disconnected"
and subsequent validations will fail fast (no attempt at isValid or validation
query).
If isFastFailValidation() is false setting this property has no
effect.
public org.apache.commons.pool2.ObjectPool<PoolableConnection> getPool()
ObjectPool in which Connections are pooled.public boolean isEnableAutoCommitOnReturn()
public boolean isFastFailValidation()
setDisconnectionSqlCodes(Collection)public boolean isRollbackOnReturn()
public org.apache.commons.pool2.PooledObject<PoolableConnection> makeObject() throws java.lang.Exception
makeObject in interface org.apache.commons.pool2.PooledObjectFactory<PoolableConnection>java.lang.Exceptionpublic void passivateObject(org.apache.commons.pool2.PooledObject<PoolableConnection> p) throws java.lang.Exception
passivateObject in interface org.apache.commons.pool2.PooledObjectFactory<PoolableConnection>java.lang.Exceptionpublic void setCacheState(boolean cacheState)
public void setConnectionInitSql(java.util.Collection<java.lang.String> connectionInitSqls)
Connections.
Using null turns off connection initialization.connectionInitSqls - SQL statement to initialize Connections.public void setDefaultAutoCommit(java.lang.Boolean defaultAutoCommit)
ConnectionsdefaultAutoCommit - the default "auto commit" setting for borrowed Connectionspublic void setDefaultCatalog(java.lang.String defaultCatalog)
ConnectionsdefaultCatalog - the default "catalog" setting for borrowed Connectionspublic void setDefaultQueryTimeout(java.lang.Integer defaultQueryTimeout)
public void setDefaultReadOnly(java.lang.Boolean defaultReadOnly)
ConnectionsdefaultReadOnly - the default "read only" setting for borrowed Connectionspublic void setDefaultTransactionIsolation(int defaultTransactionIsolation)
ConnectionsdefaultTransactionIsolation - the default "Transaction Isolation" setting for returned Connectionspublic void setDisconnectionSqlCodes(java.util.Collection<java.lang.String> disconnectionSqlCodes)
disconnectionSqlCodes - getDisconnectionSqlCodes()public void setEnableAutoCommitOnReturn(boolean enableAutoCommitOnReturn)
public void setFastFailValidation(boolean fastFailValidation)
fastFailValidation - true means connections created by this factory will
fast fail validationisFastFailValidation()public void setMaxConnLifetimeMillis(long maxConnLifetimeMillis)
public void setMaxOpenPrepatedStatements(int maxOpenPreparedStatements)
public void setPool(org.apache.commons.pool2.ObjectPool<PoolableConnection> pool)
ObjectPool in which to pool Connections.pool - the ObjectPool in which to pool those Connectionspublic void setPoolStatements(boolean poolStatements)
public void setRollbackOnReturn(boolean rollbackOnReturn)
public void setValidationQuery(java.lang.String validationQuery)
validate Connections.
Should return at least one row. If not specified,
Connection.isValid(int) will be used to validate connections.validationQuery - a query to use to validate Connections.public void setValidationQueryTimeout(int timeout)
timeout - new validation query timeout value in secondspublic void validateConnection(PoolableConnection conn) throws java.sql.SQLException
java.sql.SQLExceptionpublic boolean validateObject(org.apache.commons.pool2.PooledObject<PoolableConnection> p)
validateObject in interface org.apache.commons.pool2.PooledObjectFactory<PoolableConnection>Copyright © 2001-2015 Apache Software Foundation. Documenation generated October 5 2016.