Class SharedPoolDataSource
java.lang.Object
org.apache.commons.dbcp2.datasources.InstanceKeyDataSource
org.apache.commons.dbcp2.datasources.SharedPoolDataSource
- All Implemented Interfaces:
Serializable
,AutoCloseable
,Wrapper
,Referenceable
,CommonDataSource
,DataSource
A pooling DataSource
appropriate for deployment within J2EE environment. There are many configuration
options, most of which are defined in the parent class. All users (based on user name) share a single maximum number
of Connections in this data source.
User passwords can be changed without re-initializing the data source. When a
getConnection(user name, password)
request is processed with a password that is different from those
used to create connections in the pool associated with user name
, an attempt is made to create a new
connection using the supplied password and if this succeeds, idle connections created using the old password are
destroyed and new connections are created using the new password.
- Since:
- 2.0
- See Also:
-
Field Summary
Fields inherited from class org.apache.commons.dbcp2.datasources.InstanceKeyDataSource
UNKNOWN_TRANSACTIONISOLATION
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Closes pool being maintained by this data source.protected org.apache.commons.dbcp2.datasources.PooledConnectionManager
getConnectionManager
(org.apache.commons.dbcp2.datasources.UserPassKey userPassKey) int
GetsBaseGenericObjectPool.getMaxTotal()
for this pool.int
Gets the number of active connections in the pool.int
Gets the number of idle connections in the pool.protected org.apache.commons.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.Creates a newReference
to aSharedPoolDataSource
.void
setMaxTotal
(int maxTotal) SetsBaseGenericObjectPool.getMaxTotal()
for this pool.protected void
setupDefaults
(Connection connection, String userName) protected void
toStringFields
(StringBuilder builder) Methods inherited from class org.apache.commons.dbcp2.datasources.InstanceKeyDataSource
assertInitializationAllowed, getConnection, getConnection, getConnectionPoolDataSource, getDataSourceName, getDefaultBlockWhenExhausted, getDefaultDurationBetweenEvictionRuns, getDefaultEvictionPolicyClassName, getDefaultLifo, getDefaultMaxIdle, getDefaultMaxTotal, getDefaultMaxWait, getDefaultMaxWaitMillis, getDefaultMinEvictableIdleDuration, getDefaultMinEvictableIdleTimeMillis, getDefaultMinIdle, getDefaultNumTestsPerEvictionRun, getDefaultSoftMinEvictableIdleDuration, getDefaultSoftMinEvictableIdleTimeMillis, getDefaultTestOnBorrow, getDefaultTestOnCreate, getDefaultTestOnReturn, getDefaultTestWhileIdle, getDefaultTimeBetweenEvictionRunsMillis, getDefaultTransactionIsolation, getDescription, getInstanceKey, getJndiEnvironment, getLoginTimeout, getLoginTimeoutDuration, getLogWriter, getMaxConnDuration, getMaxConnLifetime, getMaxConnLifetimeMillis, getParentLogger, getValidationQuery, getValidationQueryTimeout, getValidationQueryTimeoutDuration, isDefaultAutoCommit, isDefaultReadOnly, isRollbackAfterValidation, isWrapperFor, setConnectionPoolDataSource, setDataSourceName, setDefaultAutoCommit, setDefaultBlockWhenExhausted, setDefaultDurationBetweenEvictionRuns, setDefaultEvictionPolicyClassName, setDefaultLifo, setDefaultMaxIdle, setDefaultMaxTotal, setDefaultMaxWait, setDefaultMaxWaitMillis, setDefaultMinEvictableIdle, setDefaultMinEvictableIdleTimeMillis, setDefaultMinIdle, setDefaultNumTestsPerEvictionRun, setDefaultReadOnly, setDefaultSoftMinEvictableIdle, setDefaultSoftMinEvictableIdleTimeMillis, setDefaultTestOnBorrow, setDefaultTestOnCreate, setDefaultTestOnReturn, setDefaultTestWhileIdle, setDefaultTimeBetweenEvictionRunsMillis, setDefaultTransactionIsolation, setDescription, setJndiEnvironment, setLoginTimeout, setLoginTimeout, setLogWriter, setMaxConnLifetime, setMaxConnLifetimeMillis, setRollbackAfterValidation, setValidationQuery, setValidationQueryTimeout, setValidationQueryTimeout, testCPDS, toString, unwrap
-
Constructor Details
-
SharedPoolDataSource
public SharedPoolDataSource()Default no-argument constructor for Serialization
-
-
Method Details
-
close
Closes pool being maintained by this data source.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in classInstanceKeyDataSource
- Throws:
SQLException
-
getConnectionManager
protected org.apache.commons.dbcp2.datasources.PooledConnectionManager getConnectionManager(org.apache.commons.dbcp2.datasources.UserPassKey userPassKey) - Specified by:
getConnectionManager
in classInstanceKeyDataSource
-
getMaxTotal
GetsBaseGenericObjectPool.getMaxTotal()
for this pool.- Returns:
BaseGenericObjectPool.getMaxTotal()
for this pool.
-
getNumActive
Gets the number of active connections in the pool.- Returns:
- The number of active connections in the pool.
-
getNumIdle
Gets the number of idle connections in the pool.- Returns:
- The number of idle connections in the pool.
-
getPooledConnectionAndInfo
protected org.apache.commons.dbcp2.datasources.PooledConnectionAndInfo getPooledConnectionAndInfo(String userName, String userPassword) throws SQLException Description copied from class:InstanceKeyDataSource
This method is protected but can only be implemented in this package because PooledConnectionAndInfo is a package private type.- Specified by:
getPooledConnectionAndInfo
in classInstanceKeyDataSource
- Parameters:
userName
- The user name.userPassword
- The user password.- Returns:
- Matching PooledConnectionAndInfo.
- Throws:
SQLException
- Connection or registration failure.
-
getReference
Creates a newReference
to aSharedPoolDataSource
.- Throws:
NamingException
-
setMaxTotal
SetsBaseGenericObjectPool.getMaxTotal()
for this pool.- Parameters:
maxTotal
-BaseGenericObjectPool.getMaxTotal()
for this pool.
-
setupDefaults
- Specified by:
setupDefaults
in classInstanceKeyDataSource
- Throws:
SQLException
-
toStringFields
- Overrides:
toStringFields
in classInstanceKeyDataSource
-