netscape.ldap.util

Class ConnectionPool


public class ConnectionPool
extends java.lang.Object

Connection pool, typically used by a server to avoid creating a new connection for each client
Version:
1.2

Constructor Summary

ConnectionPool(String host, int port)
Constructor for using default parameters, anonymous identity
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.

Method Summary

void
close(LDAPConnection ld)
This is our soft close - all we do is mark the connection as available for others to use.
void
destroy()
Destroy the whole pool - called during a shutdown
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.
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.
LDAPConnection
getConnection(int timeout)
Gets a connection from the pool within a time limit.
boolean
getDebug()
Reports the debug printout mode.
void
printPool()
Debug method to print the contents of the pool
void
setDebug(boolean mode)
Sets the debug printout mode.

Constructor Details

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,
                      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(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,
                      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

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

destroy

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

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.

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.

getDebug

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

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