org.apache.commons.dbcp.datasources

Class PerUserPoolDataSource

public class PerUserPoolDataSource 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. This datasource uses individual pools per user, and some properties can be set specifically for a given user, if the deployment environment can support initialization of mapped properties. So for example, a pool of admin or write-access Connections can be guaranteed a certain number of connections, separate from a maximum set for users with read-only connections.

Version: $Revision: 1.10 $ $Date: 2004/02/28 12:18:17 $

Author: John D. McNally

Constructor Summary
PerUserPoolDataSource()
Default no-arg constructor for Serialization
Method Summary
voidclose()
Close pool(s) being maintained by this datasource.
intgetDefaultMaxActive()
The maximum number of active connections that can be allocated from this pool at the same time, or zero for no limit.
intgetDefaultMaxIdle()
The maximum number of active connections that can remain idle in the pool, without extra ones being released, or zero for no limit.
intgetDefaultMaxWait()
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.
intgetNumActive()
Get the number of active connections in the default pool.
intgetNumActive(String username, String password)
Get the number of active connections in the pool for a given user.
intgetNumIdle()
Get the number of idle connections in the default pool.
intgetNumIdle(String username, String password)
Get the number of idle connections in the pool for a given user.
BooleangetPerUserDefaultAutoCommit(String key)
The keys are usernames and the value is the --.
BooleangetPerUserDefaultReadOnly(String username)
The keys are usernames and the value is the --.
IntegergetPerUserDefaultTransactionIsolation(String username)
The isolation level of connections when returned from getConnection.
IntegergetPerUserMaxActive(String username)
The maximum number of active connections that can be allocated from this pool at the same time, or zero for no limit.
IntegergetPerUserMaxIdle(String username)
The maximum number of active connections that can remain idle in the pool, without extra ones being released, or zero for no limit.
IntegergetPerUserMaxWait(String username)
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.
voidsetDefaultMaxActive(int maxActive)
The maximum number of active connections that can be allocated from this pool at the same time, or zero for no limit.
voidsetDefaultMaxIdle(int defaultMaxIdle)
The maximum number of active connections that can remain idle in the pool, without extra ones being released, or zero for no limit.
voidsetDefaultMaxWait(int defaultMaxWait)
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.
voidsetPerUserDefaultAutoCommit(String username, Boolean value)
The keys are usernames and the value is the --.
voidsetPerUserDefaultReadOnly(String username, Boolean value)
The keys are usernames and the value is the --.
voidsetPerUserDefaultTransactionIsolation(String username, Integer value)
The isolation level of connections when returned from getConnection.
voidsetPerUserMaxActive(String username, Integer value)
The maximum number of active connections that can be allocated from this pool at the same time, or zero for no limit.
voidsetPerUserMaxIdle(String username, Integer value)
The maximum number of active connections that can remain idle in the pool, without extra ones being released, or zero for no limit.
voidsetPerUserMaxWait(String username, Integer value)
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.

Constructor Detail

PerUserPoolDataSource

public PerUserPoolDataSource()
Default no-arg constructor for Serialization

Method Detail

close

public void close()
Close pool(s) being maintained by this datasource.

getDefaultMaxActive

public int getDefaultMaxActive()
The maximum number of active connections that can be allocated from this pool at the same time, or zero for no limit. This value is used for any username which is not specified in perUserMaxConnections. The default is 0.

getDefaultMaxIdle

public int getDefaultMaxIdle()
The maximum number of active connections that can remain idle in the pool, without extra ones being released, or zero for no limit. This value is used for any username which is not specified in perUserMaxIdle. The default is 0.

getDefaultMaxWait

public int getDefaultMaxWait()
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. This value is used for any username which is not specified in perUserMaxWait. The default is -1.

getNumActive

public int getNumActive()
Get the number of active connections in the default pool.

getNumActive

public int getNumActive(String username, String password)
Get the number of active connections in the pool for a given user.

getNumIdle

public int getNumIdle()
Get the number of idle connections in the default pool.

getNumIdle

public int getNumIdle(String username, String password)
Get the number of idle connections in the pool for a given user.

getPerUserDefaultAutoCommit

public Boolean getPerUserDefaultAutoCommit(String key)
The keys are usernames and the value is the --. Any username specified here will override the value of defaultAutoCommit.

getPerUserDefaultReadOnly

public Boolean getPerUserDefaultReadOnly(String username)
The keys are usernames and the value is the --. Any username specified here will override the value of defaultReadOnly.

getPerUserDefaultTransactionIsolation

public Integer getPerUserDefaultTransactionIsolation(String username)
The isolation level of connections when returned from getConnection. If null, the username will use the value of defaultTransactionIsolation.

getPerUserMaxActive

public Integer getPerUserMaxActive(String username)
The maximum number of active connections that can be allocated from this pool at the same time, or zero for no limit. The keys are usernames and the value is the maximum connections. Any username specified here will override the value of defaultMaxActive.

getPerUserMaxIdle

public Integer getPerUserMaxIdle(String username)
The maximum number of active connections that can remain idle in the pool, without extra ones being released, or zero for no limit. The keys are usernames and the value is the maximum connections. Any username specified here will override the value of defaultMaxIdle.

getPerUserMaxWait

public Integer getPerUserMaxWait(String username)
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 keys are usernames and the value is the maximum connections. Any username specified here will override the value of defaultMaxWait.

setDefaultMaxActive

public void setDefaultMaxActive(int maxActive)
The maximum number of active connections that can be allocated from this pool at the same time, or zero for no limit. This value is used for any username which is not specified in perUserMaxConnections. The default is 0.

setDefaultMaxIdle

public void setDefaultMaxIdle(int defaultMaxIdle)
The maximum number of active connections that can remain idle in the pool, without extra ones being released, or zero for no limit. This value is used for any username which is not specified in perUserMaxIdle. The default is 0.

setDefaultMaxWait

public void setDefaultMaxWait(int defaultMaxWait)
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. This value is used for any username which is not specified in perUserMaxWait. The default is -1.

setPerUserDefaultAutoCommit

public void setPerUserDefaultAutoCommit(String username, Boolean value)
The keys are usernames and the value is the --. Any username specified here will override the value of defaultAutoCommit.

setPerUserDefaultReadOnly

public void setPerUserDefaultReadOnly(String username, Boolean value)
The keys are usernames and the value is the --. Any username specified here will override the value of defaultReadOnly.

setPerUserDefaultTransactionIsolation

public void setPerUserDefaultTransactionIsolation(String username, Integer value)
The isolation level of connections when returned from getConnection. Valid values are the constants defined in Connection.

setPerUserMaxActive

public void setPerUserMaxActive(String username, Integer value)
The maximum number of active connections that can be allocated from this pool at the same time, or zero for no limit. The keys are usernames and the value is the maximum connections. Any username specified here will override the value of defaultMaxActive.

setPerUserMaxIdle

public void setPerUserMaxIdle(String username, Integer value)
The maximum number of active connections that can remain idle in the pool, without extra ones being released, or zero for no limit. The keys are usernames and the value is the maximum connections. Any username specified here will override the value of defaultMaxIdle.

setPerUserMaxWait

public void setPerUserMaxWait(String username, Integer value)
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 keys are usernames and the value is the maximum connections. Any username specified here will override the value of defaultMaxWait.
Copyright © 2001-2003 Apache Software Foundation. Documenation generated February 19 2008.