Class SharedPoolDataSource
- java.lang.Object
-
- org.apache.commons.dbcp2.datasources.InstanceKeyDataSource
-
- org.apache.commons.dbcp2.datasources.SharedPoolDataSource
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.AutoCloseable
,java.sql.Wrapper
,javax.naming.Referenceable
,javax.sql.CommonDataSource
,javax.sql.DataSource
public class SharedPoolDataSource extends InstanceKeyDataSource
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 username) share a single maximum number of Connections in this datasource.User passwords can be changed without re-initializing the datasource. When a
getConnection(username, password)
request is processed with a password that is different from those used to create connections in the pool associated withusername
, 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
- Version:
- $Id: SharedPoolDataSource.java 1649430 2015-01-04 21:29:32Z tn $
- Author:
- John D. McNally
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SharedPoolDataSource()
Default no-arg constructor for Serialization
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Close pool being maintained by this datasource.int
getMaxTotal()
SetBaseGenericObjectPool.getMaxTotal()
for this pool.int
getNumActive()
Get the number of active connections in the pool.int
getNumIdle()
Get the number of idle connections in the pool.javax.naming.Reference
getReference()
Returns aSharedPoolDataSource
Reference
.void
setMaxTotal(int maxTotal)
GetBaseGenericObjectPool.getMaxTotal()
for this pool.-
Methods inherited from class org.apache.commons.dbcp2.datasources.InstanceKeyDataSource
getConnection, getConnection, getConnectionPoolDataSource, getDataSourceName, getDefaultBlockWhenExhausted, getDefaultEvictionPolicyClassName, getDefaultLifo, getDefaultMaxIdle, getDefaultMaxTotal, getDefaultMaxWaitMillis, getDefaultMinEvictableIdleTimeMillis, getDefaultMinIdle, getDefaultNumTestsPerEvictionRun, getDefaultSoftMinEvictableIdleTimeMillis, getDefaultTestOnBorrow, getDefaultTestOnCreate, getDefaultTestOnReturn, getDefaultTestWhileIdle, getDefaultTimeBetweenEvictionRunsMillis, getDefaultTransactionIsolation, getDescription, getJndiEnvironment, getLoginTimeout, getLogWriter, getMaxConnLifetimeMillis, getParentLogger, getValidationQuery, getValidationQueryTimeout, isDefaultAutoCommit, isDefaultReadOnly, isRollbackAfterValidation, isWrapperFor, setConnectionPoolDataSource, setDataSourceName, setDefaultAutoCommit, setDefaultBlockWhenExhausted, setDefaultEvictionPolicyClassName, setDefaultLifo, setDefaultMaxIdle, setDefaultMaxTotal, setDefaultMaxWaitMillis, setDefaultMinEvictableIdleTimeMillis, setDefaultMinIdle, setDefaultNumTestsPerEvictionRun, setDefaultReadOnly, setDefaultSoftMinEvictableIdleTimeMillis, setDefaultTestOnBorrow, setDefaultTestOnCreate, setDefaultTestOnReturn, setDefaultTestWhileIdle, setDefaultTimeBetweenEvictionRunsMillis, setDefaultTransactionIsolation, setDescription, setJndiEnvironment, setLoginTimeout, setLogWriter, setMaxConnLifetimeMillis, setRollbackAfterValidation, setValidationQuery, setValidationQueryTimeout, unwrap
-
-
-
-
Method Detail
-
close
public void close() throws java.lang.Exception
Close pool being maintained by this datasource.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in classInstanceKeyDataSource
- Throws:
java.lang.Exception
-
getMaxTotal
public int getMaxTotal()
SetBaseGenericObjectPool.getMaxTotal()
for this pool.
-
setMaxTotal
public void setMaxTotal(int maxTotal)
GetBaseGenericObjectPool.getMaxTotal()
for this pool.
-
getNumActive
public int getNumActive()
Get the number of active connections in the pool.
-
getNumIdle
public int getNumIdle()
Get the number of idle connections in the pool.
-
getReference
public javax.naming.Reference getReference() throws javax.naming.NamingException
Returns aSharedPoolDataSource
Reference
.- Throws:
javax.naming.NamingException
-
-