Save This Page
Home » commons-dbcp-1.2.2-src » org.apache.commons » dbcp » datasources » [javadoc | source]
org.apache.commons.dbcp.datasources
public class: PerUserPoolDataSource [javadoc | source]
java.lang.Object
   org.apache.commons.dbcp.datasources.InstanceKeyDataSource
      org.apache.commons.dbcp.datasources.PerUserPoolDataSource

All Implemented Interfaces:
    DataSource, Referenceable, Serializable

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.

Field Summary
 Map perUserDefaultAutoCommit     
 Map perUserDefaultTransactionIsolation     
 Map perUserMaxActive     
 Map perUserMaxIdle     
 Map perUserMaxWait     
 Map perUserDefaultReadOnly     
Fields inherited from org.apache.commons.dbcp.datasources.InstanceKeyDataSource:
UNKNOWN_TRANSACTIONISOLATION,  jndiEnvironment,  instanceKey
Constructor:
 public PerUserPoolDataSource() 
Method from org.apache.commons.dbcp.datasources.PerUserPoolDataSource Summary:
close,   getDefaultMaxActive,   getDefaultMaxIdle,   getDefaultMaxWait,   getNumActive,   getNumActive,   getNumIdle,   getNumIdle,   getPerUserDefaultAutoCommit,   getPerUserDefaultReadOnly,   getPerUserDefaultTransactionIsolation,   getPerUserMaxActive,   getPerUserMaxIdle,   getPerUserMaxWait,   getPooledConnectionAndInfo,   getReference,   setDefaultMaxActive,   setDefaultMaxIdle,   setDefaultMaxWait,   setPerUserDefaultAutoCommit,   setPerUserDefaultReadOnly,   setPerUserDefaultTransactionIsolation,   setPerUserMaxActive,   setPerUserMaxIdle,   setPerUserMaxWait,   setupDefaults
Methods from org.apache.commons.dbcp.datasources.InstanceKeyDataSource:
assertInitializationAllowed,   close,   getConnection,   getConnection,   getConnectionPoolDataSource,   getDataSourceName,   getDefaultTransactionIsolation,   getDescription,   getJndiEnvironment,   getLogWriter,   getLoginTimeout,   getMinEvictableIdleTimeMillis,   getNumTestsPerEvictionRun,   getPooledConnectionAndInfo,   getReference,   getTestOnBorrow,   getTestOnReturn,   getTestWhileIdle,   getTimeBetweenEvictionRunsMillis,   getValidationQuery,   isDefaultAutoCommit,   isDefaultReadOnly,   isRollbackAfterValidation,   isTestOnBorrow,   isTestOnReturn,   isTestWhileIdle,   setConnectionPoolDataSource,   setDataSourceName,   setDefaultAutoCommit,   setDefaultReadOnly,   setDefaultTransactionIsolation,   setDescription,   setJndiEnvironment,   setLogWriter,   setLoginTimeout,   setMinEvictableIdleTimeMillis,   setNumTestsPerEvictionRun,   setRollbackAfterValidation,   setTestOnBorrow,   setTestOnReturn,   setTestWhileIdle,   setTimeBetweenEvictionRunsMillis,   setValidationQuery,   setupDefaults,   testCPDS,   whenExhaustedAction
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.apache.commons.dbcp.datasources.PerUserPoolDataSource Detail:
 public  void close() 
    Close pool(s) being maintained by this datasource.
 public int getDefaultMaxActive() 
    The maximum number of active connections that can be allocated from this pool at the same time, or non-positive for no limit. This value is used for any username which is not specified in perUserMaxConnections.
 public int getDefaultMaxIdle() 
    The maximum number of active connections that can remain idle in the pool, without extra ones being released, or negative for no limit. This value is used for any username which is not specified in perUserMaxIdle.
 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.
 public int getNumActive() 
    Get the number of active connections in the default pool.
 public int getNumActive(String username,
    String password) 
    Get the number of active connections in the pool for a given user.
 public int getNumIdle() 
    Get the number of idle connections in the default pool.
 public int getNumIdle(String username,
    String password) 
    Get the number of idle connections in the pool for a given user.
 public Boolean getPerUserDefaultAutoCommit(String key) 
    The keys are usernames and the value is the --. Any username specified here will override the value of defaultAutoCommit.
 public Boolean getPerUserDefaultReadOnly(String username) 
    The keys are usernames and the value is the --. Any username specified here will override the value of defaultReadOnly.
 public Integer getPerUserDefaultTransactionIsolation(String username) 
    The isolation level of connections when returned from getConnection. If null, the username will use the value of defaultTransactionIsolation.
 public Integer getPerUserMaxActive(String username) 
    The maximum number of active connections that can be allocated from this pool at the same time, or non-positive for no limit. The keys are usernames and the value is the maximum connections. Any username specified here will override the value of defaultMaxActive.
 public Integer getPerUserMaxIdle(String username) 
    The maximum number of active connections that can remain idle in the pool, without extra ones being released, or negative for no limit. The keys are usernames and the value is the maximum connections. Any username specified here will override the value of defaultMaxIdle.
 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.
 protected synchronized PooledConnectionAndInfo getPooledConnectionAndInfo(String username,
    String password) throws SQLException 
 public Reference getReference() throws NamingException 
 public  void setDefaultMaxActive(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. This value is used for any username which is not specified in perUserMaxConnections. The default is 8.
 public  void setDefaultMaxIdle(int defaultMaxIdle) 
    The maximum number of active connections that can remain idle in the pool, without extra ones being released, or negative for no limit. This value is used for any username which is not specified in perUserMaxIdle. The default is 8.
 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.
 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.
 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.
 public  void setPerUserDefaultTransactionIsolation(String username,
    Integer value) 
    The isolation level of connections when returned from getConnection. Valid values are the constants defined in Connection.
 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 non-positive for no limit. The keys are usernames and the value is the maximum connections. Any username specified here will override the value of defaultMaxActive.
 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 negative for no limit. The keys are usernames and the value is the maximum connections. Any username specified here will override the value of defaultMaxIdle.
 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.
 protected  void setupDefaults(Connection con,
    String username) throws SQLException