Class LdapAnonConnFactory

java.lang.Object
com.netscape.cmscore.ldapconn.LdapAnonConnFactory
All Implemented Interfaces:
ILdapConnFactory

public class LdapAnonConnFactory extends Object implements ILdapConnFactory
Factory for getting LDAP Connections to a LDAP server each connection is a seperate thread that can be bound to a different authentication dn and password.
  • Field Details

  • Constructor Details

    • LdapAnonConnFactory

      public LdapAnonConnFactory(String id)
      Constructor for initializing from the config store. must be followed by init(ConfigStore)
    • LdapAnonConnFactory

      public LdapAnonConnFactory(String id, boolean defErrorIfDown)
    • LdapAnonConnFactory

      public LdapAnonConnFactory(String id, int minConns, int maxConns, LdapConnInfo connInfo) throws ELdapException
      Constructor for LdapAnonConnFactory
      Parameters:
      minConns - minimum number of connections to have available
      maxConns - max number of connections to have available. This is the maximum number of clones of this connection one wants to allow.
      connInfo - server connection info - host, port, etc.
      Throws:
      ELdapException
    • LdapAnonConnFactory

      public LdapAnonConnFactory(String id, int minConns, int maxConns, int maxResults, LdapConnInfo connInfo) throws ELdapException
      Constructor for LdapAnonConnFactory
      Parameters:
      minConns - minimum number of connections to have available
      maxConns - max number of connections to have available. This is the maximum number of clones of this connection one wants to allow.
      maxResults - max number of results to return per query
      connInfo - server connection info - host, port, etc.
      Throws:
      ELdapException
  • Method Details

    • totalConn

      public int totalConn()
      Description copied from interface: ILdapConnFactory
      Returns the number of total connections available from this pool. Includes sum of free and in use connections.
      Specified by:
      totalConn in interface ILdapConnFactory
      Returns:
      Integer number of total connections.
    • freeConn

      public int freeConn()
      Description copied from interface: ILdapConnFactory
      Returns the number of free connections available from this pool.
      Specified by:
      freeConn in interface ILdapConnFactory
      Returns:
      Integer number of free connections.
    • maxConn

      public int maxConn()
      Description copied from interface: ILdapConnFactory
      Returns the maximum number of connections available from this pool.
      Specified by:
      maxConn in interface ILdapConnFactory
      Returns:
      Integer maximum number of connections.
    • init

      public void init(PKISocketConfig config) throws ELdapException
      Throws:
      ELdapException
    • init

      public void init(PKISocketConfig config, LDAPConfig dbConfig) throws EBaseException, ELdapException
      Throws:
      EBaseException
      ELdapException
    • init

      protected void init() throws ELdapException
      initialize routine from parameters.
      Throws:
      ELdapException
    • makeMinimum

      protected void makeMinimum(boolean errorIfDown) throws ELdapException
      make the mininum configured connections
      Throws:
      ELdapException
    • getConn

      public netscape.ldap.LDAPConnection getConn() throws ELdapException
      Gets connection from this factory. All connections gotten from this factory must be returned. If not the max number of connections may be reached prematurely. The best thing to put returnConn in a finally clause so it always gets called. For example,
       LDAPConnection c = null;
       try {
           c = factory.getConn();
           myclass.do_something_with_c(c);
       } catch (ELdapException e) {
           handle_error_here();
       } finally {
           factory.returnConn(c);
       }
       
      Specified by:
      getConn in interface ILdapConnFactory
      Returns:
      Ldap connection object. connection is not available
      Throws:
      ELdapException - if any error occurs, such as a
    • getConn

      public netscape.ldap.LDAPConnection getConn(boolean waitForConn) throws ELdapException
      Returns a LDAP connection - a clone of the master connection. All connections should be returned to the factory using returnConn() to recycle connection objects. If not returned the limited max number is affected but if that number is large not much harm is done. Returns null if maximum number of connections reached.

      The best thing to put returnConn in a finally clause so it always gets called. For example,

       LDAPConnection c = null;
       try {
           c = factory.getConn();
           myclass.do_something_with_c(c);
       } catch (ELdapException e) {
           handle_error_here();
       } finally {
           factory.returnConn(c);
       }
       
      Throws:
      ELdapException
    • returnConn

      public void returnConn(netscape.ldap.LDAPConnection conn)
      Returns a connection to the factory for recycling. All connections gotten from this factory must be returned. If not the max number of connections may be reached prematurely.

      The best thing to put returnConn in a finally clause so it always gets called. For example,

       LDAPConnection c = null;
       try {
           c = factory.getConn();
           myclass.do_something_with_c(c);
       } catch (ELdapException e) {
           handle_error_here();
       } finally {
           factory.returnConn(c);
       }
       
      Specified by:
      returnConn in interface ILdapConnFactory
      Parameters:
      conn - Ldap connection object to be returned to the free list of the pool.
    • finalize

      protected void finalize() throws Exception
      Overrides:
      finalize in class Object
      Throws:
      Exception
    • getConnInfo

      public LdapConnInfo getConnInfo()
      returns connection info.
    • reset

      public void reset() throws ELdapException
      resets this factory - if no connections outstanding, disconnections all connections and resets everything to 0 as if no connections were ever made. intended to be called just before shutdown or exit to disconnection and cleanup connections.
      Specified by:
      reset in interface ILdapConnFactory
      Throws:
      ELdapException