|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnetscape.ldap.LDAPConnSetupMgr
Makes a connection to a server from a list using "smart" failover. Connection attempts can be made serially from the same thread, or in parallel by creating a separate thread after the specified delay. Connection setup status is preserved for later attempts, so that servers that are more likely to be available will be tried first.
The total time spent opening a connection can be limited with the
ConnectTimeout
property.
When a connection is successfully created, a socket is opened. The socket is passed to the LDAPConnThread. The LDAPConnThread must call invalidateConnection() if the connection is lost due to a network or server error, or closeConnection() if the connection is deliberately terminated by the user.
Nested Class Summary | |
(package private) class |
LDAPConnSetupMgr.ServerEntry
Representation for a server in the server list. |
Field Summary | |
(package private) int |
m_connectTimeout
The maximum time to wait to established the connection |
(package private) int |
m_connSetupDelay
Delay in ms before another connection setup thread is started. |
(package private) LDAPConnSetupMgr.ServerEntry[] |
m_dsList
List of server to use for the connection setup |
(package private) LDAPSocketFactory |
m_factory
Socket factory for SSL connections |
(package private) int |
m_policy
Connection setup policy (PARALLEL or SERIAL) |
(package private) static long |
serialVersionUID
|
Constructor Summary | |
(package private) |
LDAPConnSetupMgr(LDAPUrl[] urls,
LDAPSocketFactory factory)
|
(package private) |
LDAPConnSetupMgr(java.lang.String[] hosts,
int[] ports,
LDAPSocketFactory factory)
Constructor |
(package private) |
LDAPConnSetupMgr(java.lang.String[] urls,
LDAPSocketFactory factory)
|
Method Summary | |
(package private) boolean |
breakConnection()
This is used only by the ldapjdk test libaray to simulate a server problem and to test fail-over and rebind |
(package private) void |
closeConnection()
Called when the current connection is terminated by the user. |
(package private) void |
connectServer(int idx)
Connect to the server at the given index |
(package private) int |
getConnectTimeout()
|
(package private) int |
getConnSetupDelay()
|
(package private) java.lang.String |
getHost()
|
(package private) LDAPUrl |
getLDAPUrl()
|
(package private) int |
getPort()
|
(package private) java.net.Socket |
getSocket()
|
(package private) void |
invalidateConnection()
Called when the current connection is lost. |
(package private) boolean |
isSecure()
|
(package private) boolean |
isUserDisconnected()
Check if the user has voluntarily closed the connection |
(package private) void |
layerSocket(LDAPTLSSocketFactory factory)
Layer a new socket over the existing one (used by startTLS) |
(package private) java.net.Socket |
openConnection()
Try to open the connection to any of the servers in the list, limiting the time waiting for the connection to be established |
(package private) void |
setConnectTimeout(int timeout)
Sets the maximum time to spend in the openConnection() call |
(package private) void |
setConnSetupDelay(int delay)
Selects the connection failover policy |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
static final long serialVersionUID
LDAPConnSetupMgr.ServerEntry[] m_dsList
LDAPSocketFactory m_factory
int m_policy
int m_connSetupDelay
int m_connectTimeout
Constructor Detail |
LDAPConnSetupMgr(java.lang.String[] hosts, int[] ports, LDAPSocketFactory factory) throws LDAPException
factory
- socket factory for SSL connectionsLDAPConnSetupMgr(java.lang.String[] urls, LDAPSocketFactory factory) throws LDAPException
LDAPConnSetupMgr(LDAPUrl[] urls, LDAPSocketFactory factory) throws LDAPException
Method Detail |
java.net.Socket openConnection() throws LDAPException
LDAPException
void invalidateConnection()
void closeConnection()
java.net.Socket getSocket()
void layerSocket(LDAPTLSSocketFactory factory) throws LDAPException
LDAPException
java.lang.String getHost()
int getPort()
boolean isSecure()
LDAPUrl getLDAPUrl()
int getConnSetupDelay()
void setConnSetupDelay(int delay)
delay
- in seconds for the parallel connection setup policy.
Possible values are: int getConnectTimeout()
void setConnectTimeout(int timeout)
timeout
- in seconds to wait for the connection to be establishedboolean isUserDisconnected()
void connectServer(int idx)
boolean breakConnection()
public java.lang.String toString()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |