|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.Thread
org.opends.server.api.DirectoryThread
org.opends.server.api.ConnectionHandler<LDAPConnectionHandlerCfg>
org.opends.server.protocols.ldap.LDAPConnectionHandler
public final class LDAPConnectionHandler
This class defines a connection handler that will be used for communicating with clients over LDAP. It is actually implemented in two parts: as a connection handler and one or more request handlers. The connection handler is responsible for accepting new connections and registering each of them with a request handler. The request handlers then are responsible for reading requests from the clients and parsing them as operations. A single request handler may be used, but having multiple handlers might provide better performance in a multi-CPU system.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class java.lang.Thread |
---|
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler |
Field Summary |
---|
Fields inherited from class java.lang.Thread |
---|
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
Constructor Summary | |
---|---|
LDAPConnectionHandler()
Creates a new instance of this LDAP connection handler. |
Method Summary | |
---|---|
boolean |
allowLDAPv2()
Indicates whether this connection handler should allow interaction with LDAPv2 clients. |
boolean |
allowStartTLS()
Indicates whether this connection handler should allow the use of the StartTLS extended operation. |
ConfigChangeResult |
applyConfigurationChange(LDAPConnectionHandlerCfg config)
Applies the configuration changes to this change listener. |
void |
finalizeConnectionHandler(Message finalizeReason,
boolean closeConnections)
Closes this connection handler so that it will no longer accept new client connections. |
java.util.LinkedHashMap<java.lang.String,java.lang.String> |
getAlerts()
Retrieves information about the set of alerts that this generator may produce. |
java.lang.String |
getClassName()
Retrieves the fully-qualified name of the Java class for this alert generator implementation. |
java.util.Collection<ClientConnection> |
getClientConnections()
Retrieves the set of active client connections that have been established through this connection handler. |
DN |
getComponentEntryDN()
Retrieves the DN of the configuration entry with which this alert generator is associated. |
java.lang.String |
getConnectionHandlerName()
Retrieves a name that may be used to refer to this connection handler. |
java.lang.String[] |
getEnabledSSLCipherSuites()
Retrieves the set of enabled SSL cipher suites configured for this connection handler. |
java.lang.String[] |
getEnabledSSLProtocols()
Retrieves the set of enabled SSL protocols configured for this connection handler. |
DN |
getKeyManagerProviderDN()
Retrieves the DN of the key manager provider that should be used for operations associated with this connection handler which need access to a key manager. |
java.util.Collection<HostPort> |
getListeners()
Retrieves information about the listener(s) that will be used to accept client connections. |
int |
getListenPort()
Retrieves the port on which this connection handler is listening for client connections. |
long |
getMaxBlockedWriteTimeLimit()
Retrieves the maximum length of time in milliseconds that attempts to write to LDAP client connections should be allowed to block. |
int |
getMaxRequestSize()
Retrieves the maximum ASN.1 element value length that will be allowed by this connection handler. |
java.lang.String |
getProtocol()
Retrieves the name of the protocol used to communicate with clients. |
java.lang.String |
getShutdownListenerName()
Retrieves the human-readable name for this shutdown listener. |
SSLClientAuthPolicy |
getSSLClientAuthPolicy()
Retrieves the SSL client authentication policy for this connection handler. |
java.lang.String |
getSSLServerCertNickname()
Retrieves the nickname of the server certificate that should be used in conjunction with this LDAP connection handler. |
LDAPStatistics |
getStatTracker()
Retrieves the set of statistics maintained by this connection handler. |
DN |
getTrustManagerProviderDN()
Retrieves the DN of the trust manager provider that should be used for operations associated with this connection handler which need access to a trust manager. |
void |
initializeConnectionHandler(LDAPConnectionHandlerCfg config)
Initializes this connection handler provider based on the information in the provided connection handler configuration. |
boolean |
isConfigurationAcceptable(ConnectionHandlerCfg configuration,
java.util.List<Message> unacceptableReasons)
Indicates whether the provided configuration is acceptable for this connection handler. |
boolean |
isConfigurationChangeAcceptable(LDAPConnectionHandlerCfg config,
java.util.List<Message> unacceptableReasons)
Indicates whether the proposed change to the configuration is acceptable to this change listener. |
boolean |
keepStats()
Indicates whether this connection handler should maintain usage statistics. |
void |
processServerShutdown(Message reason)
Indicates that the Directory Server has received a request to stop running and that this shutdown listener should take any action necessary to prepare for it. |
void |
run()
Operates in a loop, accepting new connections and ensuring that requests on those connections are handled properly. |
void |
toString(java.lang.StringBuilder buffer)
Appends a string representation of this connection handler to the provided buffer. |
boolean |
useSSL()
Indicates whether this connection handler should use SSL to communicate with clients. |
Methods inherited from class org.opends.server.api.ConnectionHandler |
---|
getConnectionHandlerMonitor, setConnectionHandlerMonitor, toString |
Methods inherited from class org.opends.server.api.DirectoryThread |
---|
getAssociatedTask, getCreationStackTrace, getDebugProperties, getParentThread, setAssociatedTask |
Methods inherited from class java.lang.Thread |
---|
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, yield |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public LDAPConnectionHandler()
Method Detail |
---|
public boolean allowLDAPv2()
true
if LDAPv2 is allowed, or false
if not.public boolean allowStartTLS()
true
if StartTLS is allowed, or false
if not.public ConfigChangeResult applyConfigurationChange(LDAPConnectionHandlerCfg config)
applyConfigurationChange
in interface ConfigurationChangeListener<LDAPConnectionHandlerCfg>
config
- The new configuration containing the changes.
public void finalizeConnectionHandler(Message finalizeReason, boolean closeConnections)
closeConnections
flag.
finalizeConnectionHandler
in class ConnectionHandler<LDAPConnectionHandlerCfg>
finalizeReason
- The reason that this connection handler should be
finalized.closeConnections
- Indicates whether any established client connections
associated with the connection handler should also be
closed.public java.util.LinkedHashMap<java.lang.String,java.lang.String> getAlerts()
getAlerts
in interface AlertGenerator
public java.lang.String getClassName()
getClassName
in interface AlertGenerator
public java.util.Collection<ClientConnection> getClientConnections()
getClientConnections
in class ConnectionHandler<LDAPConnectionHandlerCfg>
public DN getComponentEntryDN()
getComponentEntryDN
in interface AlertGenerator
public java.lang.String getConnectionHandlerName()
getConnectionHandlerName
in class ConnectionHandler<LDAPConnectionHandlerCfg>
public java.lang.String[] getEnabledSSLCipherSuites()
public java.lang.String[] getEnabledSSLProtocols()
public DN getKeyManagerProviderDN()
null
if no
key manager provider has been configured for this
connection handler.public java.util.Collection<HostPort> getListeners()
getListeners
in class ConnectionHandler<LDAPConnectionHandlerCfg>
public int getListenPort()
public long getMaxBlockedWriteTimeLimit()
public int getMaxRequestSize()
public java.lang.String getProtocol()
getProtocol
in class ConnectionHandler<LDAPConnectionHandlerCfg>
public java.lang.String getShutdownListenerName()
getShutdownListenerName
in interface ServerShutdownListener
public java.lang.String getSSLServerCertNickname()
public SSLClientAuthPolicy getSSLClientAuthPolicy()
public LDAPStatistics getStatTracker()
public DN getTrustManagerProviderDN()
null
if
no trust manager provider has been configured for this
connection handler.public void initializeConnectionHandler(LDAPConnectionHandlerCfg config) throws ConfigException, InitializationException
initializeConnectionHandler
in class ConnectionHandler<LDAPConnectionHandlerCfg>
config
- The connection handler configuration that contains the
information to use to initialize this connection
handler.
ConfigException
- If an unrecoverable problem arises in the process of
performing the initialization as a result of the server
configuration.
InitializationException
- If a problem occurs during initialization that is not
related to the server configuration.public boolean isConfigurationAcceptable(ConnectionHandlerCfg configuration, java.util.List<Message> unacceptableReasons)
isConfigurationAcceptable
in class ConnectionHandler<LDAPConnectionHandlerCfg>
configuration
- The connection handler configuration
for which to make the determination.unacceptableReasons
- A list that may be used to hold the
reasons that the provided
configuration is not acceptable.
true
if the provided configuration is acceptable
for this connection handler, or false
if not.public boolean isConfigurationChangeAcceptable(LDAPConnectionHandlerCfg config, java.util.List<Message> unacceptableReasons)
isConfigurationChangeAcceptable
in interface ConfigurationChangeListener<LDAPConnectionHandlerCfg>
config
- The new configuration containing the changes.unacceptableReasons
- A list that can be used to hold messages about why the
provided configuration is not acceptable.
true
if the proposed change is
acceptable, or false
if it is not.public boolean keepStats()
true
if this connection handler should
maintain usage statistics, or false
if
not.public void processServerShutdown(Message reason)
processServerShutdown
in interface ServerShutdownListener
reason
- The human-readable reason for the shutdown.public void run()
run
in interface java.lang.Runnable
run
in class ConnectionHandler<LDAPConnectionHandlerCfg>
public void toString(java.lang.StringBuilder buffer)
toString
in class ConnectionHandler<LDAPConnectionHandlerCfg>
buffer
- The buffer to which the information should be appended.public boolean useSSL()
true
if this connection handler should use SSL to
communicate with clients, or false
if not.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |