Class InternalConnectionHandler
- java.lang.Object
-
- java.lang.Thread
-
- org.opends.server.api.DirectoryThread
-
- org.opends.server.api.ConnectionHandler
-
- org.opends.server.protocols.internal.InternalConnectionHandler
-
- All Implemented Interfaces:
Runnable
@PublicAPI(stability=PRIVATE, mayInstantiate=false, mayExtend=false, mayInvoke=false) public final class InternalConnectionHandler extends ConnectionHandler
This class defines a Directory Server connection handler that will handle internal "connections".
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.opends.server.api.DirectoryThread
DirectoryThread.Factory
-
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
-
-
Field Summary
-
Fields inherited from class org.opends.server.api.ConnectionHandler
LISTEN_TIMEOUT_MS
-
Fields inherited from class org.opends.server.api.DirectoryThread
DIRECTORY_THREAD_GROUP
-
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidclearRootClientConnectionAtShutdown()Called near the end of server shutdown.voidfinalizeConnectionHandler(org.forgerock.i18n.LocalizableMessage finalizeReason)Closes this connection handler so that it will no longer accept new client connections.Collection<ClientConnection>getClientConnections()Retrieves the set of active client connections that have been established through this connection handler.DNgetComponentEntryDN()Return the configuration dn of the object.StringgetConnectionHandlerName()Retrieves a name that may be used to refer to this connection handler.static InternalConnectionHandlergetInstance()Retrieves the static instance of this internal connection handler.Collection<HostPort>getListeners()Retrieves information about the listener(s) that will be used to accept client connections.StringgetProtocol()Retrieves the name of the protocol used to communicate with clients.voidinitializeConnectionHandler(ServerContext serverContext, ConnectionHandlerCfg configuration)Initializes this connection handler provider based on the information in the provided connection handler configuration.voidrun()Operates in a loop, accepting new connections and ensuring that requests on those connections are handled properly.StringtoString()Retrieves a string representation of this connection handler.voidtoString(StringBuilder buffer)Appends a string representation of this connection handler to the provided buffer.-
Methods inherited from class org.opends.server.api.ConnectionHandler
getConnectionHandlerMonitor, getEnabledSSLCipherSuites, getEnabledSSLProtocols, getNumRequestHandlers, isAdminConnectionHandler, isConfigurationAcceptable, setAdminConnectionHandler, setConnectionHandlerMonitor
-
Methods inherited from class org.opends.server.api.DirectoryThread
getAssociatedTask, getCreationStackTrace, getDebugProperties, getParentThread, initiateShutdown, isShutdownInitiated, setAssociatedTask, startWork, stopWork
-
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, yield
-
-
-
-
Method Detail
-
getInstance
public static InternalConnectionHandler getInstance()
Retrieves the static instance of this internal connection handler.- Returns:
- The static instance of this internal connection handler.
-
initializeConnectionHandler
public void initializeConnectionHandler(ServerContext serverContext, ConnectionHandlerCfg configuration) throws ConfigException, InitializationException
Initializes this connection handler provider based on the information in the provided connection handler configuration.- Specified by:
initializeConnectionHandlerin classConnectionHandler- Parameters:
serverContext- The server context.configuration- The connection handler configuration that contains the information to use to initialize this connection handler.- Throws:
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.
-
finalizeConnectionHandler
public void finalizeConnectionHandler(org.forgerock.i18n.LocalizableMessage finalizeReason)
Closes this connection handler so that it will no longer accept new client connections. Implementations should disconnect any existing connections.- Specified by:
finalizeConnectionHandlerin classConnectionHandler- Parameters:
finalizeReason- The reason that this connection handler should be finalized.
-
getConnectionHandlerName
public String getConnectionHandlerName()
Retrieves a name that may be used to refer to this connection handler. Every connection handler instance (even handlers of the same type) must have a unique name.- Specified by:
getConnectionHandlerNamein classConnectionHandler- Returns:
- A unique name that may be used to refer to this connection handler.
-
getProtocol
public String getProtocol()
Retrieves the name of the protocol used to communicate with clients. It should take into account any special naming that may be needed to express any security mechanisms or other constraints in place (e.g., "LDAPS" for LDAP over SSL).- Specified by:
getProtocolin classConnectionHandler- Returns:
- The name of the protocol used to communicate with clients.
-
getListeners
public Collection<HostPort> getListeners()
Retrieves information about the listener(s) that will be used to accept client connections.- Specified by:
getListenersin classConnectionHandler- Returns:
- Information about the listener(s) that will be used to accept client connections, or an empty list if this connection handler does not accept connections from network clients.
-
getClientConnections
public Collection<ClientConnection> getClientConnections()
Retrieves the set of active client connections that have been established through this connection handler.- Specified by:
getClientConnectionsin classConnectionHandler- Returns:
- The set of active client connections that have been established through this connection handler.
-
run
public void run()
Operates in a loop, accepting new connections and ensuring that requests on those connections are handled properly.- Specified by:
runin interfaceRunnable- Specified by:
runin classConnectionHandler
-
toString
public String toString()
Retrieves a string representation of this connection handler.- Overrides:
toStringin classConnectionHandler- Returns:
- A string representation of this connection handler.
-
toString
public void toString(StringBuilder buffer)
Appends a string representation of this connection handler to the provided buffer.- Specified by:
toStringin classConnectionHandler- Parameters:
buffer- The buffer to which the information should be appended.
-
clearRootClientConnectionAtShutdown
public static void clearRootClientConnectionAtShutdown()
Called near the end of server shutdown. This ensures that a new InternalClientConnection is created if the server is immediately restarted as part of an in-core restart.
-
getComponentEntryDN
public DN getComponentEntryDN()
Return the configuration dn of the object.- Specified by:
getComponentEntryDNin classConnectionHandler- Returns:
- DN of the entry.
-
-