Class InstanceKeyDataSource
- All Implemented Interfaces:
Serializable
,AutoCloseable
,Wrapper
,Referenceable
,CommonDataSource
,DataSource
- Direct Known Subclasses:
PerUserPoolDataSource
,SharedPoolDataSource
The base class for SharedPoolDataSource
and PerUserPoolDataSource
. Many of the
configuration properties are shared and defined here. This class is declared public in order to allow particular
usage with commons-beanutils; do not make direct use of it outside of commons-dbcp2.
A J2EE container will normally provide some method of initializing the DataSource
whose attributes are
presented as bean getters/setters and then deploying it via JNDI. It is then available to an application as a source
of pooled logical connections to the database. The pool needs a source of physical connections. This source is in the
form of a ConnectionPoolDataSource
that can be specified via the setDataSourceName(String)
used
to lookup the source via JNDI.
Although normally used within a JNDI environment, A DataSource can be instantiated and initialized as any bean. In
this case the ConnectionPoolDataSource
will likely be instantiated in a similar manner. This class
allows the physical source of connections to be attached directly to this pool using the
setConnectionPoolDataSource(ConnectionPoolDataSource)
method.
The dbcp package contains an adapter, DriverAdapterCPDS
, that can be
used to allow the use of DataSource
's based on this class with JDBC driver implementations that do not
supply a ConnectionPoolDataSource
, but still provide a Driver
implementation.
The package documentation contains an example using Apache Tomcat and JNDI and it also contains a non-JNDI example.
- Since:
- 2.0
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final int
Internal constant to indicate the level is not set. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Throws an IllegalStateException, if a PooledConnection has already been requested.abstract void
close()
Closes the connection pool being maintained by this datasource.Attempts to establish a database connection.getConnection
(String userName, String userPassword) Attempts to retrieve a database connection usinggetPooledConnectionAndInfo(String, String)
with the provided user name and password.protected abstract org.apache.tomcat.dbcp.dbcp2.datasources.PooledConnectionManager
getConnectionManager
(org.apache.tomcat.dbcp.dbcp2.datasources.UserPassKey upkey) Gets the value of connectionPoolDataSource.Gets the name of the ConnectionPoolDataSource which backs this pool.boolean
Gets the default value forBaseObjectPoolConfig.getBlockWhenExhausted()
for each per user pool.Gets the default value forBaseGenericObjectPool.getDurationBetweenEvictionRuns()
for each per user pool.Gets the default value forBaseObjectPoolConfig.getEvictionPolicyClassName()
for each per user pool.boolean
Gets the default value forBaseObjectPoolConfig.getLifo()
for each per user pool.int
Gets the default value forGenericKeyedObjectPoolConfig.getMaxIdlePerKey()
for each per user pool.int
Gets the default value forGenericKeyedObjectPoolConfig.getMaxTotalPerKey()
for each per user pool.Gets the default value forBaseObjectPoolConfig.getMaxWaitDuration()
for each per user pool.long
Deprecated.Gets the default value forBaseObjectPoolConfig.getMinEvictableIdleDuration()
for each per user pool.long
Deprecated.int
Gets the default value forGenericKeyedObjectPoolConfig.getMinIdlePerKey()
for each per user pool.int
Gets the default value forBaseObjectPoolConfig.getNumTestsPerEvictionRun()
for each per user pool.Gets the default value forGenericObjectPool#getSoftMinEvictableIdleTimeMillis()
for each per user pool.long
Deprecated.boolean
Gets the default value forGenericObjectPool#getTestOnBorrow()
for each per user pool.boolean
Gets the default value forGenericObjectPool#getTestOnCreate()
for each per user pool.boolean
Gets the default value forGenericObjectPool#getTestOnReturn()
for each per user pool.boolean
Gets the default value forGenericObjectPool#getTestWhileIdle()
for each per user pool.long
Deprecated.int
Gets the value of defaultTransactionIsolation, which defines the state of connections handed out from this pool.Gets the description.protected String
Gets the instance key.getJndiEnvironment
(String key) Gets the value of jndiEnvironment which is used when instantiating a JNDI InitialContext.int
Deprecated.Gets the value of loginTimeout.Gets the value of logWriter.Gets the maximum permitted lifetime of a connection.Deprecated.UsegetMaxConnDuration()
.long
Deprecated.UsegetMaxConnLifetime()
.protected abstract org.apache.tomcat.dbcp.dbcp2.datasources.PooledConnectionAndInfo
getPooledConnectionAndInfo
(String userName, String userPassword) This method is protected but can only be implemented in this package because PooledConnectionAndInfo is a package private type.Gets the SQL query that will be used to validate connections from this pool before returning them to the caller.int
Deprecated.Returns the timeout Duration before the validation query fails.Gets the value of defaultAutoCommit, which defines the state of connections handed out from this pool.Gets the value of defaultReadOnly, which defines the state of connections handed out from this pool.boolean
Whether a rollback will be issued after executing the SQL query that will be used to validate connections from this pool before returning them to the caller.boolean
isWrapperFor
(Class<?> iface) void
setConnectionPoolDataSource
(ConnectionPoolDataSource dataSource) Sets the back end ConnectionPoolDataSource.void
setDataSourceName
(String dataSourceName) Sets the name of the ConnectionPoolDataSource which backs this pool.void
setDefaultAutoCommit
(Boolean defaultAutoCommit) Sets the value of defaultAutoCommit, which defines the state of connections handed out from this pool.void
setDefaultBlockWhenExhausted
(boolean blockWhenExhausted) Sets the default value forBaseObjectPoolConfig.getBlockWhenExhausted()
for each per user pool.void
setDefaultDurationBetweenEvictionRuns
(Duration defaultDurationBetweenEvictionRuns) Sets the default value for()
for each per user pool.void
setDefaultEvictionPolicyClassName
(String evictionPolicyClassName) Sets the default value forBaseObjectPoolConfig.getEvictionPolicyClassName()
for each per user pool.void
setDefaultLifo
(boolean lifo) Sets the default value forBaseObjectPoolConfig.getLifo()
for each per user pool.void
setDefaultMaxIdle
(int maxIdle) Sets the default value forGenericKeyedObjectPoolConfig.getMaxIdlePerKey()
for each per user pool.void
setDefaultMaxTotal
(int maxTotal) Sets the default value forGenericKeyedObjectPoolConfig.getMaxTotalPerKey()
for each per user pool.void
setDefaultMaxWait
(Duration maxWaitMillis) Sets the default value forBaseObjectPoolConfig.getMaxWaitDuration()
for each per user pool.void
setDefaultMaxWaitMillis
(long maxWaitMillis) Deprecated.void
setDefaultMinEvictableIdle
(Duration defaultMinEvictableIdleDuration) Sets the default value forBaseObjectPoolConfig.getMinEvictableIdleDuration()
for each per user pool.void
setDefaultMinEvictableIdleTimeMillis
(long minEvictableIdleTimeMillis) Deprecated.void
setDefaultMinIdle
(int minIdle) Sets the default value forGenericKeyedObjectPoolConfig.getMinIdlePerKey()
for each per user pool.void
setDefaultNumTestsPerEvictionRun
(int numTestsPerEvictionRun) Sets the default value forBaseObjectPoolConfig.getNumTestsPerEvictionRun()
for each per user pool.void
setDefaultReadOnly
(Boolean defaultReadOnly) Sets the value of defaultReadOnly, which defines the state of connections handed out from this pool.void
setDefaultSoftMinEvictableIdle
(Duration defaultSoftMinEvictableIdleDuration) Sets the default value forGenericObjectPool#getSoftMinEvictableIdleTimeMillis()
for each per user pool.void
setDefaultSoftMinEvictableIdleTimeMillis
(long softMinEvictableIdleTimeMillis) Deprecated.void
setDefaultTestOnBorrow
(boolean testOnBorrow) Sets the default value forGenericObjectPool#getTestOnBorrow()
for each per user pool.void
setDefaultTestOnCreate
(boolean testOnCreate) Sets the default value forGenericObjectPool#getTestOnCreate()
for each per user pool.void
setDefaultTestOnReturn
(boolean testOnReturn) Sets the default value forGenericObjectPool#getTestOnReturn()
for each per user pool.void
setDefaultTestWhileIdle
(boolean testWhileIdle) Sets the default value forGenericObjectPool#getTestWhileIdle()
for each per user pool.void
setDefaultTimeBetweenEvictionRunsMillis
(long timeBetweenEvictionRunsMillis) Deprecated.void
setDefaultTransactionIsolation
(int defaultTransactionIsolation) Sets the value of defaultTransactionIsolation, which defines the state of connections handed out from this pool.void
setDescription
(String description) Sets the description.void
setJndiEnvironment
(String key, String value) Sets the value of the given JNDI environment property to be used when instantiating a JNDI InitialContext.void
setLoginTimeout
(int loginTimeout) Deprecated.void
setLoginTimeout
(Duration loginTimeout) Sets the value of loginTimeout.void
setLogWriter
(PrintWriter logWriter) Sets the value of logWriter.void
setMaxConnLifetime
(Duration maxConnLifetimeMillis) Sets the maximum permitted lifetime of a connection.void
setMaxConnLifetimeMillis
(long maxConnLifetimeMillis) Deprecated.void
setRollbackAfterValidation
(boolean rollbackAfterValidation) Whether a rollback will be issued after executing the SQL query that will be used to validate connections from this pool before returning them to the caller.protected abstract void
setupDefaults
(Connection connection, String userName) void
setValidationQuery
(String validationQuery) Sets the SQL query that will be used to validate connections from this pool before returning them to the caller.void
setValidationQueryTimeout
(int validationQueryTimeoutSeconds) Deprecated.void
setValidationQueryTimeout
(Duration validationQueryTimeoutDuration) Sets the timeout duration before the validation query fails.protected ConnectionPoolDataSource
toString()
protected void
toStringFields
(StringBuilder builder) <T> T
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface javax.sql.CommonDataSource
createShardingKeyBuilder
Methods inherited from interface javax.sql.DataSource
createConnectionBuilder
Methods inherited from interface javax.naming.Referenceable
getReference
-
Field Details
-
UNKNOWN_TRANSACTIONISOLATION
protected static final int UNKNOWN_TRANSACTIONISOLATIONInternal constant to indicate the level is not set.- See Also:
-
-
Constructor Details
-
InstanceKeyDataSource
public InstanceKeyDataSource()Default no-arg constructor for Serialization.
-
-
Method Details
-
assertInitializationAllowed
Throws an IllegalStateException, if a PooledConnection has already been requested.- Throws:
IllegalStateException
- Thrown if a PooledConnection has already been requested.
-
close
Closes the connection pool being maintained by this datasource.- Specified by:
close
in interfaceAutoCloseable
- Throws:
SQLException
-
getConnection
Attempts to establish a database connection.- Specified by:
getConnection
in interfaceDataSource
- Throws:
SQLException
-
getConnection
Attempts to retrieve a database connection usinggetPooledConnectionAndInfo(String, String)
with the provided user name and password. The password on thePooledConnectionAndInfo
instance returned bygetPooledConnectionAndInfo
is compared to thepassword
parameter. If the comparison fails, a database connection using the supplied user name and password is attempted. If the connection attempt fails, an SQLException is thrown, indicating that the given password did not match the password used to create the pooled connection. If the connection attempt succeeds, this means that the database password has been changed. In this case, thePooledConnectionAndInfo
instance retrieved with the old password is destroyed and thegetPooledConnectionAndInfo
is repeatedly invoked until aPooledConnectionAndInfo
instance with the new password is returned.- Specified by:
getConnection
in interfaceDataSource
- Throws:
SQLException
-
getConnectionManager
protected abstract org.apache.tomcat.dbcp.dbcp2.datasources.PooledConnectionManager getConnectionManager(org.apache.tomcat.dbcp.dbcp2.datasources.UserPassKey upkey) -
getConnectionPoolDataSource
Gets the value of connectionPoolDataSource. This method will return null, if the backing data source is being accessed via JNDI.- Returns:
- value of connectionPoolDataSource.
-
getDataSourceName
Gets the name of the ConnectionPoolDataSource which backs this pool. This name is used to look up the data source from a JNDI service provider.- Returns:
- value of dataSourceName.
-
getDefaultBlockWhenExhausted
public boolean getDefaultBlockWhenExhausted()Gets the default value forBaseObjectPoolConfig.getBlockWhenExhausted()
for each per user pool.- Returns:
- The default value for
BaseObjectPoolConfig.getBlockWhenExhausted()
for each per user pool.
-
getDefaultDurationBetweenEvictionRuns
Gets the default value forBaseGenericObjectPool.getDurationBetweenEvictionRuns()
for each per user pool.- Returns:
- The default value for
BaseGenericObjectPool.getDurationBetweenEvictionRuns()
for each per user pool. - Since:
- 2.10.0
-
getDefaultEvictionPolicyClassName
Gets the default value forBaseObjectPoolConfig.getEvictionPolicyClassName()
for each per user pool.- Returns:
- The default value for
BaseObjectPoolConfig.getEvictionPolicyClassName()
for each per user pool.
-
getDefaultLifo
public boolean getDefaultLifo()Gets the default value forBaseObjectPoolConfig.getLifo()
for each per user pool.- Returns:
- The default value for
BaseObjectPoolConfig.getLifo()
for each per user pool.
-
getDefaultMaxIdle
public int getDefaultMaxIdle()Gets the default value forGenericKeyedObjectPoolConfig.getMaxIdlePerKey()
for each per user pool.- Returns:
- The default value for
GenericKeyedObjectPoolConfig.getMaxIdlePerKey()
for each per user pool.
-
getDefaultMaxTotal
public int getDefaultMaxTotal()Gets the default value forGenericKeyedObjectPoolConfig.getMaxTotalPerKey()
for each per user pool.- Returns:
- The default value for
GenericKeyedObjectPoolConfig.getMaxTotalPerKey()
for each per user pool.
-
getDefaultMaxWait
Gets the default value forBaseObjectPoolConfig.getMaxWaitDuration()
for each per user pool.- Returns:
- The default value for
BaseObjectPoolConfig.getMaxWaitDuration()
for each per user pool. - Since:
- 2.9.0
-
getDefaultMaxWaitMillis
Deprecated.UsegetDefaultMaxWait()
.Gets the default value forBaseObjectPoolConfig.getMaxWaitDuration()
for each per user pool.- Returns:
- The default value for
BaseObjectPoolConfig.getMaxWaitDuration()
for each per user pool.
-
getDefaultMinEvictableIdleDuration
Gets the default value forBaseObjectPoolConfig.getMinEvictableIdleDuration()
for each per user pool.- Returns:
- The default value for
BaseObjectPoolConfig.getMinEvictableIdleDuration()
for each per user pool. - Since:
- 2.10.0
-
getDefaultMinEvictableIdleTimeMillis
Deprecated.Gets the default value forBaseObjectPoolConfig.getMinEvictableIdleDuration()
for each per user pool.- Returns:
- The default value for
BaseObjectPoolConfig.getMinEvictableIdleDuration()
for each per user pool.
-
getDefaultMinIdle
public int getDefaultMinIdle()Gets the default value forGenericKeyedObjectPoolConfig.getMinIdlePerKey()
for each per user pool.- Returns:
- The default value for
GenericKeyedObjectPoolConfig.getMinIdlePerKey()
for each per user pool.
-
getDefaultNumTestsPerEvictionRun
public int getDefaultNumTestsPerEvictionRun()Gets the default value forBaseObjectPoolConfig.getNumTestsPerEvictionRun()
for each per user pool.- Returns:
- The default value for
BaseObjectPoolConfig.getNumTestsPerEvictionRun()
for each per user pool.
-
getDefaultSoftMinEvictableIdleDuration
Gets the default value forGenericObjectPool#getSoftMinEvictableIdleTimeMillis()
for each per user pool.- Returns:
- The default value for
GenericObjectPool#getSoftMinEvictableIdleTimeMillis()
for each per user pool. - Since:
- 2.10.0
-
getDefaultSoftMinEvictableIdleTimeMillis
Deprecated.Gets the default value forGenericObjectPool#getSoftMinEvictableIdleTimeMillis()
for each per user pool.- Returns:
- The default value for
GenericObjectPool#getSoftMinEvictableIdleTimeMillis()
for each per user pool.
-
getDefaultTestOnBorrow
public boolean getDefaultTestOnBorrow()Gets the default value forGenericObjectPool#getTestOnBorrow()
for each per user pool.- Returns:
- The default value for
GenericObjectPool#getTestOnBorrow()
for each per user pool.
-
getDefaultTestOnCreate
public boolean getDefaultTestOnCreate()Gets the default value forGenericObjectPool#getTestOnCreate()
for each per user pool.- Returns:
- The default value for
GenericObjectPool#getTestOnCreate()
for each per user pool.
-
getDefaultTestOnReturn
public boolean getDefaultTestOnReturn()Gets the default value forGenericObjectPool#getTestOnReturn()
for each per user pool.- Returns:
- The default value for
GenericObjectPool#getTestOnReturn()
for each per user pool.
-
getDefaultTestWhileIdle
public boolean getDefaultTestWhileIdle()Gets the default value forGenericObjectPool#getTestWhileIdle()
for each per user pool.- Returns:
- The default value for
GenericObjectPool#getTestWhileIdle()
for each per user pool.
-
getDefaultTimeBetweenEvictionRunsMillis
Deprecated.Gets the default value for()
for each per user pool.- Returns:
- The default value for
()
for each per user pool.
-
getDefaultTransactionIsolation
public int getDefaultTransactionIsolation()Gets the value of defaultTransactionIsolation, which defines the state of connections handed out from this pool. The value can be changed on the Connection using Connection.setTransactionIsolation(int). If this method returns -1, the default is JDBC driver dependent.- Returns:
- value of defaultTransactionIsolation.
-
getDescription
Gets the description. This property is defined by JDBC as for use with GUI (or other) tools that might deploy the datasource. It serves no internal purpose.- Returns:
- value of description.
-
getInstanceKey
Gets the instance key.- Returns:
- the instance key.
-
getJndiEnvironment
Gets the value of jndiEnvironment which is used when instantiating a JNDI InitialContext. This InitialContext is used to locate the back end ConnectionPoolDataSource.- Parameters:
key
- JNDI environment key.- Returns:
- value of jndiEnvironment.
-
getLoginTimeout
Deprecated.Gets the value of loginTimeout.- Specified by:
getLoginTimeout
in interfaceCommonDataSource
- Specified by:
getLoginTimeout
in interfaceDataSource
- Returns:
- value of loginTimeout.
-
getLoginTimeoutDuration
Gets the value of loginTimeout.- Returns:
- value of loginTimeout.
- Since:
- 2.10.0
-
getLogWriter
Gets the value of logWriter.- Specified by:
getLogWriter
in interfaceCommonDataSource
- Specified by:
getLogWriter
in interfaceDataSource
- Returns:
- value of logWriter.
-
getMaxConnDuration
Gets the maximum permitted lifetime of a connection. A value of zero or less indicates an infinite lifetime.- Returns:
- The maximum permitted lifetime of a connection. A value of zero or less indicates an infinite lifetime.
- Since:
- 2.10.0
-
getMaxConnLifetime
Deprecated.UsegetMaxConnDuration()
.Gets the maximum permitted lifetime of a connection. A value of zero or less indicates an infinite lifetime.- Returns:
- The maximum permitted lifetime of a connection. A value of zero or less indicates an infinite lifetime.
-
getMaxConnLifetimeMillis
Deprecated.UsegetMaxConnLifetime()
.Gets the maximum permitted lifetime of a connection in milliseconds. A value of zero or less indicates an infinite lifetime.- Returns:
- The maximum permitted lifetime of a connection in milliseconds. A value of zero or less indicates an infinite lifetime.
-
getParentLogger
- Specified by:
getParentLogger
in interfaceCommonDataSource
- Throws:
SQLFeatureNotSupportedException
-
getPooledConnectionAndInfo
protected abstract org.apache.tomcat.dbcp.dbcp2.datasources.PooledConnectionAndInfo getPooledConnectionAndInfo(String userName, String userPassword) throws SQLException This method is protected but can only be implemented in this package because PooledConnectionAndInfo is a package private type.- Parameters:
userName
- The user name.userPassword
- The user password.- Returns:
- Matching PooledConnectionAndInfo.
- Throws:
SQLException
- Connection or registration failure.
-
getValidationQuery
Gets the SQL query that will be used to validate connections from this pool before returning them to the caller. If specified, this query MUST be an SQL SELECT statement that returns at least one row. If not specified,Connection.isValid(int)
will be used to validate connections.- Returns:
- The SQL query that will be used to validate connections from this pool before returning them to the caller.
-
getValidationQueryTimeout
Deprecated.Returns the timeout in seconds before the validation query fails.- Returns:
- The timeout in seconds before the validation query fails.
-
getValidationQueryTimeoutDuration
Returns the timeout Duration before the validation query fails.- Returns:
- The timeout Duration before the validation query fails.
-
isDefaultAutoCommit
Gets the value of defaultAutoCommit, which defines the state of connections handed out from this pool. The value can be changed on the Connection using Connection.setAutoCommit(boolean). The default isnull
which will use the default value for the drive.- Returns:
- value of defaultAutoCommit.
-
isDefaultReadOnly
Gets the value of defaultReadOnly, which defines the state of connections handed out from this pool. The value can be changed on the Connection using Connection.setReadOnly(boolean). The default isnull
which will use the default value for the drive.- Returns:
- value of defaultReadOnly.
-
isRollbackAfterValidation
public boolean isRollbackAfterValidation()Whether a rollback will be issued after executing the SQL query that will be used to validate connections from this pool before returning them to the caller.- Returns:
- true if a rollback will be issued after executing the validation query
-
isWrapperFor
- Specified by:
isWrapperFor
in interfaceWrapper
- Throws:
SQLException
-
setConnectionPoolDataSource
Sets the back end ConnectionPoolDataSource. This property should not be set if using JNDI to access the data source.- Parameters:
dataSource
- Value to assign to connectionPoolDataSource.
-
setDataSourceName
Sets the name of the ConnectionPoolDataSource which backs this pool. This name is used to look up the data source from a JNDI service provider.- Parameters:
dataSourceName
- Value to assign to dataSourceName.
-
setDefaultAutoCommit
Sets the value of defaultAutoCommit, which defines the state of connections handed out from this pool. The value can be changed on the Connection using Connection.setAutoCommit(boolean). The default isnull
which will use the default value for the drive.- Parameters:
defaultAutoCommit
- Value to assign to defaultAutoCommit.
-
setDefaultBlockWhenExhausted
public void setDefaultBlockWhenExhausted(boolean blockWhenExhausted) Sets the default value forBaseObjectPoolConfig.getBlockWhenExhausted()
for each per user pool.- Parameters:
blockWhenExhausted
- The default value forBaseObjectPoolConfig.getBlockWhenExhausted()
for each per user pool.
-
setDefaultDurationBetweenEvictionRuns
Sets the default value for()
for each per user pool.- Parameters:
defaultDurationBetweenEvictionRuns
- The default value for()
for each per user pool.- Since:
- 2.10.0
-
setDefaultEvictionPolicyClassName
Sets the default value forBaseObjectPoolConfig.getEvictionPolicyClassName()
for each per user pool.- Parameters:
evictionPolicyClassName
- The default value forBaseObjectPoolConfig.getEvictionPolicyClassName()
for each per user pool.
-
setDefaultLifo
public void setDefaultLifo(boolean lifo) Sets the default value forBaseObjectPoolConfig.getLifo()
for each per user pool.- Parameters:
lifo
- The default value forBaseObjectPoolConfig.getLifo()
for each per user pool.
-
setDefaultMaxIdle
public void setDefaultMaxIdle(int maxIdle) Sets the default value forGenericKeyedObjectPoolConfig.getMaxIdlePerKey()
for each per user pool.- Parameters:
maxIdle
- The default value forGenericKeyedObjectPoolConfig.getMaxIdlePerKey()
for each per user pool.
-
setDefaultMaxTotal
public void setDefaultMaxTotal(int maxTotal) Sets the default value forGenericKeyedObjectPoolConfig.getMaxTotalPerKey()
for each per user pool.- Parameters:
maxTotal
- The default value forGenericKeyedObjectPoolConfig.getMaxTotalPerKey()
for each per user pool.
-
setDefaultMaxWait
Sets the default value forBaseObjectPoolConfig.getMaxWaitDuration()
for each per user pool.- Parameters:
maxWaitMillis
- The default value forBaseObjectPoolConfig.getMaxWaitDuration()
for each per user pool.- Since:
- 2.9.0
-
setDefaultMaxWaitMillis
Deprecated.Sets the default value forBaseObjectPoolConfig.getMaxWaitMillis()
for each per user pool.- Parameters:
maxWaitMillis
- The default value forBaseObjectPoolConfig.getMaxWaitMillis()
for each per user pool.
-
setDefaultMinEvictableIdle
Sets the default value forBaseObjectPoolConfig.getMinEvictableIdleDuration()
for each per user pool.- Parameters:
defaultMinEvictableIdleDuration
- The default value forBaseObjectPoolConfig.getMinEvictableIdleDuration()
for each per user pool.- Since:
- 2.10.0
-
setDefaultMinEvictableIdleTimeMillis
Deprecated.Sets the default value forBaseObjectPoolConfig.getMinEvictableIdleDuration()
for each per user pool.- Parameters:
minEvictableIdleTimeMillis
- The default value forBaseObjectPoolConfig.getMinEvictableIdleDuration()
for each per user pool.
-
setDefaultMinIdle
public void setDefaultMinIdle(int minIdle) Sets the default value forGenericKeyedObjectPoolConfig.getMinIdlePerKey()
for each per user pool.- Parameters:
minIdle
- The default value forGenericKeyedObjectPoolConfig.getMinIdlePerKey()
for each per user pool.
-
setDefaultNumTestsPerEvictionRun
public void setDefaultNumTestsPerEvictionRun(int numTestsPerEvictionRun) Sets the default value forBaseObjectPoolConfig.getNumTestsPerEvictionRun()
for each per user pool.- Parameters:
numTestsPerEvictionRun
- The default value forBaseObjectPoolConfig.getNumTestsPerEvictionRun()
for each per user pool.
-
setDefaultReadOnly
Sets the value of defaultReadOnly, which defines the state of connections handed out from this pool. The value can be changed on the Connection using Connection.setReadOnly(boolean). The default isnull
which will use the default value for the drive.- Parameters:
defaultReadOnly
- Value to assign to defaultReadOnly.
-
setDefaultSoftMinEvictableIdle
Sets the default value forGenericObjectPool#getSoftMinEvictableIdleTimeMillis()
for each per user pool.- Parameters:
defaultSoftMinEvictableIdleDuration
- The default value forGenericObjectPool#getSoftMinEvictableIdleTimeMillis()
for each per user pool.- Since:
- 2.10.0
-
setDefaultSoftMinEvictableIdleTimeMillis
@Deprecated public void setDefaultSoftMinEvictableIdleTimeMillis(long softMinEvictableIdleTimeMillis) Deprecated.Sets the default value forGenericObjectPool#getSoftMinEvictableIdleTimeMillis()
for each per user pool.- Parameters:
softMinEvictableIdleTimeMillis
- The default value forGenericObjectPool#getSoftMinEvictableIdleTimeMillis()
for each per user pool.
-
setDefaultTestOnBorrow
public void setDefaultTestOnBorrow(boolean testOnBorrow) Sets the default value forGenericObjectPool#getTestOnBorrow()
for each per user pool.- Parameters:
testOnBorrow
- The default value forGenericObjectPool#getTestOnBorrow()
for each per user pool.
-
setDefaultTestOnCreate
public void setDefaultTestOnCreate(boolean testOnCreate) Sets the default value forGenericObjectPool#getTestOnCreate()
for each per user pool.- Parameters:
testOnCreate
- The default value forGenericObjectPool#getTestOnCreate()
for each per user pool.
-
setDefaultTestOnReturn
public void setDefaultTestOnReturn(boolean testOnReturn) Sets the default value forGenericObjectPool#getTestOnReturn()
for each per user pool.- Parameters:
testOnReturn
- The default value forGenericObjectPool#getTestOnReturn()
for each per user pool.
-
setDefaultTestWhileIdle
public void setDefaultTestWhileIdle(boolean testWhileIdle) Sets the default value forGenericObjectPool#getTestWhileIdle()
for each per user pool.- Parameters:
testWhileIdle
- The default value forGenericObjectPool#getTestWhileIdle()
for each per user pool.
-
setDefaultTimeBetweenEvictionRunsMillis
Deprecated.Sets the default value forBaseGenericObjectPool.getDurationBetweenEvictionRuns()
for each per user pool.- Parameters:
timeBetweenEvictionRunsMillis
- The default value forBaseGenericObjectPool.getDurationBetweenEvictionRuns()
for each per user pool.
-
setDefaultTransactionIsolation
public void setDefaultTransactionIsolation(int defaultTransactionIsolation) Sets the value of defaultTransactionIsolation, which defines the state of connections handed out from this pool. The value can be changed on the Connection using Connection.setTransactionIsolation(int). The default is JDBC driver dependent.- Parameters:
defaultTransactionIsolation
- Value to assign to defaultTransactionIsolation
-
setDescription
Sets the description. This property is defined by JDBC as for use with GUI (or other) tools that might deploy the datasource. It serves no internal purpose.- Parameters:
description
- Value to assign to description.
-
setJndiEnvironment
Sets the value of the given JNDI environment property to be used when instantiating a JNDI InitialContext. This InitialContext is used to locate the back end ConnectionPoolDataSource.- Parameters:
key
- the JNDI environment property to set.value
- the value assigned to specified JNDI environment property.
-
setLoginTimeout
Sets the value of loginTimeout.- Parameters:
loginTimeout
- Value to assign to loginTimeout.- Since:
- 2.10.0
-
setLoginTimeout
Deprecated.Sets the value of loginTimeout.- Specified by:
setLoginTimeout
in interfaceCommonDataSource
- Specified by:
setLoginTimeout
in interfaceDataSource
- Parameters:
loginTimeout
- Value to assign to loginTimeout.
-
setLogWriter
Sets the value of logWriter.- Specified by:
setLogWriter
in interfaceCommonDataSource
- Specified by:
setLogWriter
in interfaceDataSource
- Parameters:
logWriter
- Value to assign to logWriter.
-
setMaxConnLifetime
Sets the maximum permitted lifetime of a connection. A value of zero or less indicates an infinite lifetime.
Note: this method currently has no effect once the pool has been initialized. The pool is initialized the first time one of the following methods is invoked:
getConnection, setLogwriter, setLoginTimeout, getLoginTimeout, getLogWriter.
- Parameters:
maxConnLifetimeMillis
- The maximum permitted lifetime of a connection. A value of zero or less indicates an infinite lifetime.- Since:
- 2.9.0
-
setMaxConnLifetimeMillis
Deprecated.Sets the maximum permitted lifetime of a connection in milliseconds. A value of zero or less indicates an infinite lifetime.
Note: this method currently has no effect once the pool has been initialized. The pool is initialized the first time one of the following methods is invoked:
getConnection, setLogwriter, setLoginTimeout, getLoginTimeout, getLogWriter.
- Parameters:
maxConnLifetimeMillis
- The maximum permitted lifetime of a connection in milliseconds. A value of zero or less indicates an infinite lifetime.
-
setRollbackAfterValidation
public void setRollbackAfterValidation(boolean rollbackAfterValidation) Whether a rollback will be issued after executing the SQL query that will be used to validate connections from this pool before returning them to the caller. Default behavior is NOT to issue a rollback. The setting will only have an effect if a validation query is set- Parameters:
rollbackAfterValidation
- new property value
-
setupDefaults
- Throws:
SQLException
-
setValidationQuery
Sets the SQL query that will be used to validate connections from this pool before returning them to the caller. If specified, this query MUST be an SQL SELECT statement that returns at least one row. If not specified, connections will be validated usingConnection.isValid(int)
.- Parameters:
validationQuery
- The SQL query that will be used to validate connections from this pool before returning them to the caller.
-
setValidationQueryTimeout
Sets the timeout duration before the validation query fails.- Parameters:
validationQueryTimeoutDuration
- The new timeout duration.
-
setValidationQueryTimeout
Deprecated.Sets the timeout in seconds before the validation query fails.- Parameters:
validationQueryTimeoutSeconds
- The new timeout in seconds
-
testCPDS
protected ConnectionPoolDataSource testCPDS(String userName, String userPassword) throws NamingException, SQLException - Throws:
NamingException
SQLException
-
toString
-
toStringFields
-
unwrap
- Specified by:
unwrap
in interfaceWrapper
- Throws:
SQLException
-
getDefaultMaxWait()
.