Class ConnectionPool

java.lang.Object
netscape.ldap.util.ConnectionPool

public class ConnectionPool extends Object
Connection pool, typically used by a server to avoid creating a new connection for each client
Version:
1.2
  • Constructor Summary

    Constructors
    Constructor
    Description
    ConnectionPool(int min, int max, String host, int port)
    Constructor for specifying all parameters, anonymous identity
    ConnectionPool(int min, int max, String host, int port, String authdn, String authpw)
    Constructor for specifying all parameters
    ConnectionPool(int min, int max, LDAPConnection ldc)
    Constructor for using an existing connection to clone from.
    ConnectionPool(String host, int port)
    Constructor for using default parameters, anonymous identity
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    This is our soft close - all we do is mark the connection as available for others to use.
    void
    Destroy the whole pool - called during a shutdown
    Gets a connection from the pool If no connections are available, the pool will be extended if the number of connections is less than the maximum; if the pool cannot be extended, the method blocks until a free connection becomes available.
    getConnection(int timeout)
    Gets a connection from the pool within a time limit.
    protected LDAPConnection
    Gets a connection from the pool If no connections are available, the pool will be extended if the number of connections is less than the maximum; if the pool cannot be extended, the method returns null.
    boolean
    Reports the debug printout mode.
    void
    Debug method to print the contents of the pool
    void
    setDebug(boolean mode)
    Sets the debug printout mode.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ConnectionPool

      public ConnectionPool(int min, int max, String host, int port, String authdn, String authpw) throws LDAPException
      Constructor for specifying all parameters
      Parameters:
      min - initial number of connections
      max - maximum number of connections
      host - hostname of LDAP server
      port - port number of LDAP server
      authdn - DN to authenticate as
      authpw - password for authentication
      Throws:
      LDAPException - on failure to create connections
    • ConnectionPool

      public ConnectionPool(int min, int max, String host, int port) throws LDAPException
      Constructor for specifying all parameters, anonymous identity
      Parameters:
      min - initial number of connections
      max - maximum number of connections
      host - hostname of LDAP server
      port - port number of LDAP server
      Throws:
      LDAPException - on failure to create connections
    • ConnectionPool

      public ConnectionPool(String host, int port) throws LDAPException
      Constructor for using default parameters, anonymous identity
      Parameters:
      host - hostname of LDAP server
      port - port number of LDAP server
      Throws:
      LDAPException - on failure to create connections
    • ConnectionPool

      public ConnectionPool(int min, int max, LDAPConnection ldc) throws LDAPException
      Constructor for using an existing connection to clone from.

      The connection to clone must be already established and the user authenticated.

      Parameters:
      min - initial number of connections
      max - maximum number of connections
      ldc - connection to clone
      Throws:
      LDAPException - on failure to create connections
  • Method Details

    • destroy

      public void destroy()
      Destroy the whole pool - called during a shutdown
    • getConnection

      public LDAPConnection getConnection()
      Gets a connection from the pool If no connections are available, the pool will be extended if the number of connections is less than the maximum; if the pool cannot be extended, the method blocks until a free connection becomes available.
      Returns:
      an active connection.
    • getConnection

      public LDAPConnection getConnection(int timeout)
      Gets a connection from the pool within a time limit. If no connections are available, the pool will be extended if the number of connections is less than the maximum; if the pool cannot be extended, the method blocks until a free connection becomes available or the time limit is exceeded.
      Parameters:
      timeout - timeout in milliseconds
      Returns:
      an active connection or null if timed out.
    • getConnFromPool

      protected LDAPConnection getConnFromPool()
      Gets a connection from the pool If no connections are available, the pool will be extended if the number of connections is less than the maximum; if the pool cannot be extended, the method returns null.
      Returns:
      an active connection or null.
    • close

      public void close(LDAPConnection ld)
      This is our soft close - all we do is mark the connection as available for others to use. We also reset the auth credentials in case they were changed by the caller.
      Parameters:
      ld - a connection to return to the pool
    • printPool

      public void printPool()
      Debug method to print the contents of the pool
    • setDebug

      public void setDebug(boolean mode)
      Sets the debug printout mode.
      Parameters:
      mode - debug mode to use
    • getDebug

      public boolean getDebug()
      Reports the debug printout mode.
      Returns:
      debug mode in use.