Class SharedPoolDataSource

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.AutoCloseable, java.sql.Wrapper, javax.naming.Referenceable, javax.sql.CommonDataSource, javax.sql.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:
    Serialized Form
    • Constructor Detail

      • SharedPoolDataSource

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

      • close

        public void close()
                   throws java.lang.Exception
        Close pool being maintained by this datasource.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in class InstanceKeyDataSource
        Throws:
        java.lang.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 javax.naming.Reference getReference()
                                            throws javax.naming.NamingException
        Returns a SharedPoolDataSource Reference.
        Throws:
        javax.naming.NamingException