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 with username
, 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-arg constructor for Serialization
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Close pool being maintained by this datasource.
|
protected org.apache.commons.dbcp2.datasources.PooledConnectionManager |
getConnectionManager(org.apache.commons.dbcp2.datasources.UserPassKey upkey) |
int |
getMaxTotal()
Set
BaseGenericObjectPool.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.
|
protected org.apache.commons.dbcp2.datasources.PooledConnectionAndInfo |
getPooledConnectionAndInfo(String username,
String password) |
Reference |
getReference()
Returns a
SharedPoolDataSource Reference . |
void |
setMaxTotal(int maxTotal)
Get
BaseGenericObjectPool.getMaxTotal() for this pool. |
protected void |
setupDefaults(Connection con,
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.public void setMaxTotal(int maxTotal)
BaseGenericObjectPool.getMaxTotal()
for this pool.public int getNumActive()
public int getNumIdle()
protected org.apache.commons.dbcp2.datasources.PooledConnectionAndInfo getPooledConnectionAndInfo(String username, String password) 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 con, String username) throws SQLException
setupDefaults
in class InstanceKeyDataSource
SQLException
Copyright © 2001–2017 The Apache Software Foundation. All rights reserved.