Class SharedPoolDataSource
java.lang.Object
org.apache.commons.dbcp.datasources.InstanceKeyDataSource
org.apache.commons.dbcp.datasources.SharedPoolDataSource
- All Implemented Interfaces:
Serializable
,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 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.
- Version:
- $Revision: 907288 $ $Date: 2010-02-06 14:42:58 -0500 (Sat, 06 Feb 2010) $
- Author:
- John D. McNally
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Close pool being maintained by this datasource.int
The maximum number of active connections that can be allocated from this pool at the same time, or non-positive for no limit.int
The maximum number of active connections that can remain idle in the pool, without extra ones being released, or negative for no limit.int
The maximum number of milliseconds that the pool will wait (when there are no available connections) for a connection to be returned before throwing an exception, or -1 to wait indefinitely.int
Get the number of active connections in the pool.int
Get the number of idle connections in the pool.Returns aSharedPoolDataSource
Reference
.void
setMaxActive
(int maxActive) The maximum number of active connections that can be allocated from this pool at the same time, or non-positive for no limit.void
setMaxIdle
(int maxIdle) The maximum number of active connections that can remain idle in the pool, without extra ones being released, or negative for no limit.void
setMaxWait
(int maxWait) The maximum number of milliseconds that the pool will wait (when there are no available connections) for a connection to be returned before throwing an exception, or -1 to wait indefinitely.Methods inherited from class org.apache.commons.dbcp.datasources.InstanceKeyDataSource
getConnection, getConnection, getConnectionPoolDataSource, getDataSourceName, getDefaultTransactionIsolation, getDescription, getJndiEnvironment, getLoginTimeout, getLogWriter, getMinEvictableIdleTimeMillis, getNumTestsPerEvictionRun, getTestOnBorrow, getTestOnReturn, getTestWhileIdle, getTimeBetweenEvictionRunsMillis, getValidationQuery, isDefaultAutoCommit, isDefaultReadOnly, isRollbackAfterValidation, isTestOnBorrow, isTestOnReturn, isTestWhileIdle, isWrapperFor, setConnectionPoolDataSource, setDataSourceName, setDefaultAutoCommit, setDefaultReadOnly, setDefaultTransactionIsolation, setDescription, setJndiEnvironment, setLoginTimeout, setLogWriter, setMinEvictableIdleTimeMillis, setNumTestsPerEvictionRun, setRollbackAfterValidation, setTestOnBorrow, setTestOnReturn, setTestWhileIdle, setTimeBetweenEvictionRunsMillis, setValidationQuery, unwrap
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface javax.sql.CommonDataSource
createShardingKeyBuilder
Methods inherited from interface javax.sql.DataSource
createConnectionBuilder
-
Constructor Details
-
SharedPoolDataSource
public SharedPoolDataSource()Default no-arg constructor for Serialization
-
-
Method Details
-
close
Close pool being maintained by this datasource.- Specified by:
close
in classInstanceKeyDataSource
- Throws:
Exception
-
getMaxActive
public int getMaxActive()The maximum number of active connections that can be allocated from this pool at the same time, or non-positive for no limit. -
setMaxActive
public void setMaxActive(int maxActive) The maximum number of active connections that can be allocated from this pool at the same time, or non-positive for no limit. The default is 8. -
getMaxIdle
public int getMaxIdle()The maximum number of active connections that can remain idle in the pool, without extra ones being released, or negative for no limit. -
setMaxIdle
public void setMaxIdle(int maxIdle) The maximum number of active connections that can remain idle in the pool, without extra ones being released, or negative for no limit. The default is 8. -
getMaxWait
public int getMaxWait()The maximum number of milliseconds that the pool will wait (when there are no available connections) for a connection to be returned before throwing an exception, or -1 to wait indefinitely. Will fail immediately if value is 0. The default is -1. -
setMaxWait
public void setMaxWait(int maxWait) The maximum number of milliseconds that the pool will wait (when there are no available connections) for a connection to be returned before throwing an exception, or -1 to wait indefinitely. Will fail immediately if value is 0. The default is -1. -
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
Returns aSharedPoolDataSource
Reference
.- Specified by:
getReference
in interfaceReferenceable
- Overrides:
getReference
in classInstanceKeyDataSource
- Returns:
- The non-null Reference of this object.
- Throws:
NamingException
- If a naming exception was encountered while retrieving the reference.- Since:
- 1.2.2
-
getParentLogger
- Throws:
SQLFeatureNotSupportedException
-