Package com.netscape.cmscore.ldapconn
Class LdapAnonConnFactory
- java.lang.Object
-
- com.netscape.cmscore.ldapconn.LdapAnonConnFactory
-
- All Implemented Interfaces:
ILdapConnFactory
public class LdapAnonConnFactory extends java.lang.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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
LdapAnonConnFactory.AnonConnection
used to keep track of connections from this factory.
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
id
static org.slf4j.Logger
logger
protected LdapConnInfo
mConnInfo
protected int
mMaxConns
protected int
mMaxResults
protected int
mMinConns
static java.lang.String
PROP_ERROR_IF_DOWN
static java.lang.String
PROP_MAXCONNS
static java.lang.String
PROP_MAXRESULTS
static java.lang.String
PROP_MINCONNS
-
Constructor Summary
Constructors Constructor Description LdapAnonConnFactory(java.lang.String id)
Constructor for initializing from the config store.LdapAnonConnFactory(java.lang.String id, boolean defErrorIfDown)
LdapAnonConnFactory(java.lang.String id, int minConns, int maxConns, int maxResults, LdapConnInfo connInfo)
Constructor for LdapAnonConnFactoryLdapAnonConnFactory(java.lang.String id, int minConns, int maxConns, LdapConnInfo connInfo)
Constructor for LdapAnonConnFactory
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
finalize()
int
freeConn()
Returns the number of free connections available from this pool.netscape.ldap.LDAPConnection
getConn()
Gets connection from this factory.netscape.ldap.LDAPConnection
getConn(boolean waitForConn)
Returns a LDAP connection - a clone of the master connection.LdapConnInfo
getConnInfo()
returns connection info.protected void
init()
initialize routine from parameters.void
init(PKISocketConfig config)
void
init(PKISocketConfig config, LDAPConfig dbConfig)
protected void
makeMinimum(boolean errorIfDown)
make the mininum configured connectionsint
maxConn()
Returns the maximum number of connections available from this pool.void
reset()
resets this factory - if no connections outstanding, disconnections all connections and resets everything to 0 as if no connections were ever made.void
returnConn(netscape.ldap.LDAPConnection conn)
Returns a connection to the factory for recycling.int
totalConn()
Returns the number of total connections available from this pool.
-
-
-
Field Detail
-
logger
public static org.slf4j.Logger logger
-
id
protected java.lang.String id
-
mMinConns
protected int mMinConns
-
mMaxConns
protected int mMaxConns
-
mMaxResults
protected int mMaxResults
-
mConnInfo
protected LdapConnInfo mConnInfo
-
PROP_MINCONNS
public static final java.lang.String PROP_MINCONNS
- See Also:
- Constant Field Values
-
PROP_MAXCONNS
public static final java.lang.String PROP_MAXCONNS
- See Also:
- Constant Field Values
-
PROP_MAXRESULTS
public static final java.lang.String PROP_MAXRESULTS
- See Also:
- Constant Field Values
-
PROP_ERROR_IF_DOWN
public static final java.lang.String PROP_ERROR_IF_DOWN
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
LdapAnonConnFactory
public LdapAnonConnFactory(java.lang.String id)
Constructor for initializing from the config store. must be followed by init(IConfigStore)
-
LdapAnonConnFactory
public LdapAnonConnFactory(java.lang.String id, boolean defErrorIfDown)
-
LdapAnonConnFactory
public LdapAnonConnFactory(java.lang.String id, int minConns, int maxConns, LdapConnInfo connInfo) throws ELdapException
Constructor for LdapAnonConnFactory- Parameters:
minConns
- minimum number of connections to have availablemaxConns
- max number of connections to have available. This is the maximum number of clones of this connection one wants to allow.serverInfo
- server connection info - host, port, etc.- Throws:
ELdapException
-
LdapAnonConnFactory
public LdapAnonConnFactory(java.lang.String id, int minConns, int maxConns, int maxResults, LdapConnInfo connInfo) throws ELdapException
Constructor for LdapAnonConnFactory- Parameters:
minConns
- minimum number of connections to have availablemaxConns
- 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 queryserverInfo
- server connection info - host, port, etc.- Throws:
ELdapException
-
-
Method Detail
-
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 interfaceILdapConnFactory
- 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 interfaceILdapConnFactory
- 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 interfaceILdapConnFactory
- 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 interfaceILdapConnFactory
- 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 interfaceILdapConnFactory
- Parameters:
conn
- Ldap connection object to be returned to the free list of the pool.
-
finalize
protected void finalize() throws java.lang.Exception
- Overrides:
finalize
in classjava.lang.Object
- Throws:
java.lang.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 & cleanup connections.- Specified by:
reset
in interfaceILdapConnFactory
- Throws:
ELdapException
-
-