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 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.
UNKNOWN_TRANSACTIONISOLATION
Constructor and Description |
---|
SharedPoolDataSource()
Default no-argument constructor for Serialization
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes pool being maintained by this data source.
|
protected org.apache.commons.dbcp2.datasources.PooledConnectionManager |
getConnectionManager(org.apache.commons.dbcp2.datasources.UserPassKey upkey) |
int |
getMaxTotal()
Gets
BaseGenericObjectPool.getMaxTotal() for this pool. |
int |
getNumActive()
Gets the number of active connections in the pool.
|
int |
getNumIdle()
Gets the number of idle connections in the pool.
|
protected org.apache.commons.dbcp2.datasources.PooledConnectionAndInfo |
getPooledConnectionAndInfo(String userName,
String userPassword) |
Reference |
getReference()
Returns a
SharedPoolDataSource Reference . |
void |
setMaxTotal(int maxTotal)
Sets
BaseGenericObjectPool.getMaxTotal() for this pool. |
protected void |
setupDefaults(Connection connection,
String userName) |
assertInitializationAllowed, getConnection, getConnection, getConnectionPoolDataSource, getDataSourceName, getDefaultBlockWhenExhausted, getDefaultEvictionPolicyClassName, getDefaultLifo, getDefaultMaxIdle, getDefaultMaxTotal, getDefaultMaxWaitMillis, getDefaultMinEvictableIdleTimeMillis, getDefaultMinIdle, getDefaultNumTestsPerEvictionRun, getDefaultSoftMinEvictableIdleTimeMillis, getDefaultTestOnBorrow, getDefaultTestOnCreate, getDefaultTestOnReturn, getDefaultTestWhileIdle, getDefaultTimeBetweenEvictionRunsMillis, getDefaultTransactionIsolation, getDescription, getInstanceKey, 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, testCPDS, unwrap
public SharedPoolDataSource()
public void close() throws Exception
close
in interface AutoCloseable
close
in class InstanceKeyDataSource
Exception
public int getMaxTotal()
BaseGenericObjectPool.getMaxTotal()
for this pool.BaseGenericObjectPool.getMaxTotal()
for this pool.public void setMaxTotal(int maxTotal)
BaseGenericObjectPool.getMaxTotal()
for this pool.maxTotal
- BaseGenericObjectPool.getMaxTotal()
for this pool.public int getNumActive()
public int getNumIdle()
protected org.apache.commons.dbcp2.datasources.PooledConnectionAndInfo getPooledConnectionAndInfo(String userName, String userPassword) throws SQLException
getPooledConnectionAndInfo
in class InstanceKeyDataSource
SQLException
protected org.apache.commons.dbcp2.datasources.PooledConnectionManager getConnectionManager(org.apache.commons.dbcp2.datasources.UserPassKey upkey)
getConnectionManager
in class InstanceKeyDataSource
public Reference getReference() throws NamingException
SharedPoolDataSource
Reference
.NamingException
protected void setupDefaults(Connection connection, String userName) throws SQLException
setupDefaults
in class InstanceKeyDataSource
SQLException
Copyright © 2001–2018 The Apache Software Foundation. All rights reserved.