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 userPassKey) |
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)
This method is protected but can only be implemented in this package because PooledConnectionAndInfo is a package
private type.
|
Reference |
getReference()
Creates a new
Reference to a SharedPoolDataSource . |
void |
setMaxTotal(int maxTotal)
Sets
BaseGenericObjectPool.getMaxTotal() for this pool. |
protected void |
setupDefaults(Connection connection,
String userName) |
protected void |
toStringFields(StringBuilder builder) |
assertInitializationAllowed, getConnection, getConnection, getConnectionPoolDataSource, getDataSourceName, getDefaultBlockWhenExhausted, getDefaultEvictionPolicyClassName, getDefaultLifo, getDefaultMaxIdle, getDefaultMaxTotal, getDefaultMaxWait, getDefaultMaxWaitMillis, getDefaultMinEvictableIdleTimeMillis, getDefaultMinIdle, getDefaultNumTestsPerEvictionRun, getDefaultSoftMinEvictableIdleTimeMillis, getDefaultTestOnBorrow, getDefaultTestOnCreate, getDefaultTestOnReturn, getDefaultTestWhileIdle, getDefaultTimeBetweenEvictionRunsMillis, getDefaultTransactionIsolation, getDescription, getInstanceKey, getJndiEnvironment, getLoginTimeout, getLogWriter, getMaxConnLifetime, getMaxConnLifetimeMillis, getParentLogger, getValidationQuery, getValidationQueryTimeout, isDefaultAutoCommit, isDefaultReadOnly, isRollbackAfterValidation, isWrapperFor, setConnectionPoolDataSource, setDataSourceName, setDefaultAutoCommit, setDefaultBlockWhenExhausted, setDefaultEvictionPolicyClassName, setDefaultLifo, setDefaultMaxIdle, setDefaultMaxTotal, setDefaultMaxWait, setDefaultMaxWaitMillis, setDefaultMinEvictableIdleTimeMillis, setDefaultMinIdle, setDefaultNumTestsPerEvictionRun, setDefaultReadOnly, setDefaultSoftMinEvictableIdleTimeMillis, setDefaultTestOnBorrow, setDefaultTestOnCreate, setDefaultTestOnReturn, setDefaultTestWhileIdle, setDefaultTimeBetweenEvictionRunsMillis, setDefaultTransactionIsolation, setDescription, setJndiEnvironment, setLoginTimeout, setLogWriter, setMaxConnLifetime, setMaxConnLifetimeMillis, setRollbackAfterValidation, setValidationQuery, setValidationQueryTimeout, testCPDS, toString, unwrap
public SharedPoolDataSource()
public void close() throws Exception
close
in interface AutoCloseable
close
in class InstanceKeyDataSource
Exception
protected org.apache.commons.dbcp2.datasources.PooledConnectionManager getConnectionManager(org.apache.commons.dbcp2.datasources.UserPassKey userPassKey)
getConnectionManager
in class InstanceKeyDataSource
public int getMaxTotal()
BaseGenericObjectPool.getMaxTotal()
for this pool.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
InstanceKeyDataSource
getPooledConnectionAndInfo
in class InstanceKeyDataSource
userName
- The user name.userPassword
- The user password.SQLException
- Connection or registration failure.public Reference getReference() throws NamingException
Reference
to a SharedPoolDataSource
.NamingException
public void setMaxTotal(int maxTotal)
BaseGenericObjectPool.getMaxTotal()
for this pool.maxTotal
- BaseGenericObjectPool.getMaxTotal()
for this pool.protected void setupDefaults(Connection connection, String userName) throws SQLException
setupDefaults
in class InstanceKeyDataSource
SQLException
protected void toStringFields(StringBuilder builder)
toStringFields
in class InstanceKeyDataSource
Copyright © 2001–2020 The Apache Software Foundation. All rights reserved.