Class SharedPoolDataSource

java.lang.Object
org.apache.commons.dbcp2.datasources.InstanceKeyDataSource
org.apache.commons.dbcp2.datasources.SharedPoolDataSource
All Implemented Interfaces:
Serializable, AutoCloseable, Wrapper, Referenceable, CommonDataSource, DataSource

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.

Since:
2.0
Version:
$Id: SharedPoolDataSource.java 1649430 2015-01-04 21:29:32Z tn $
Author:
John D. McNally
See Also:
  • Constructor Details

    • SharedPoolDataSource

      public SharedPoolDataSource()
      Default no-arg constructor for Serialization
  • Method Details

    • close

      public void close() throws Exception
      Close pool being maintained by this datasource.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in class InstanceKeyDataSource
      Throws:
      Exception
    • getMaxTotal

      public int getMaxTotal()
      Set BaseGenericObjectPool.getMaxTotal() for this pool.
    • setMaxTotal

      public void setMaxTotal(int maxTotal)
      Get BaseGenericObjectPool.getMaxTotal() for this pool.
    • 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

      public Reference getReference() throws NamingException
      Returns a SharedPoolDataSource Reference.
      Throws:
      NamingException