public class GracefulShutdownHandler extends Object implements ExtendedOperationHandler<org.apache.directory.api.ldap.extras.extended.GracefulShutdownRequest,org.apache.directory.api.ldap.extras.extended.GracefulShutdownResponse>
| Modifier and Type | Field and Description |
|---|---|
static Set<String> |
EXTENSION_OIDS |
| Constructor and Description |
|---|
GracefulShutdownHandler() |
| Modifier and Type | Method and Description |
|---|---|
Set<String> |
getExtensionOids()
The OIDs of the extensions supported by this handler.
|
static org.apache.directory.api.ldap.extras.extended.GracefulDisconnectResponse |
getGracefulDisconnect(int timeOffline,
int delay) |
String |
getOid()
Returns the EXTENSION_OID of the extended request this handler can handle.
|
void |
handleExtendedOperation(LdapSession requestor,
org.apache.directory.api.ldap.extras.extended.GracefulShutdownRequest req)
Handles the specified extended operation.
|
static void |
sendGracefulDisconnect(List<org.apache.mina.core.session.IoSession> sessions,
org.apache.directory.api.ldap.extras.extended.GracefulDisconnectResponse msg,
org.apache.mina.core.session.IoSession requestor)
Blocks to synchronously send the same GracefulDisconnect message to all
managed sessions except for the requestor of the GracefulShutdown.
|
static void |
sendNoticeOfDisconnect(List<org.apache.mina.core.session.IoSession> sessions,
org.apache.mina.core.session.IoSession requestor)
Blocks to synchronously send the a NoticeOfDisconnect message with
the resultCode set to unavailable(52) to all managed sessions except
for the requestor of the GracefulShutdown.
|
static void |
sendShutdownResponse(org.apache.mina.core.session.IoSession requestor,
int messageId)
Sends a successful response.
|
void |
setLdapServer(LdapServer ldapServer)
Sets the LDAP server for this extendedOperation handler.
|
static void |
waitForDelay(int delay) |
public String getOid()
ExtendedOperationHandlergetOid in interface ExtendedOperationHandler<org.apache.directory.api.ldap.extras.extended.GracefulShutdownRequest,org.apache.directory.api.ldap.extras.extended.GracefulShutdownResponse>public void handleExtendedOperation(LdapSession requestor, org.apache.directory.api.ldap.extras.extended.GracefulShutdownRequest req) throws Exception
ExtendedOperationHandlerhandleExtendedOperation in interface ExtendedOperationHandler<org.apache.directory.api.ldap.extras.extended.GracefulShutdownRequest,org.apache.directory.api.ldap.extras.extended.GracefulShutdownResponse>requestor - the session object related with current connectionreq - the LDAP Extended operation requestException - if failed to handle the operationpublic static void sendShutdownResponse(org.apache.mina.core.session.IoSession requestor,
int messageId)
requestor - the session of the requestormessageId - the message id associaed with this shutdown requestpublic static void sendGracefulDisconnect(List<org.apache.mina.core.session.IoSession> sessions, org.apache.directory.api.ldap.extras.extended.GracefulDisconnectResponse msg, org.apache.mina.core.session.IoSession requestor)
msg - the graceful disconnec extended request to sendrequestor - the session of the graceful shutdown requestorsessions - the IoSessions to send disconnect message topublic static void sendNoticeOfDisconnect(List<org.apache.mina.core.session.IoSession> sessions, org.apache.mina.core.session.IoSession requestor)
requestor - the session of the graceful shutdown requestorsessions - the sessions from minapublic static org.apache.directory.api.ldap.extras.extended.GracefulDisconnectResponse getGracefulDisconnect(int timeOffline,
int delay)
public static void waitForDelay(int delay)
public Set<String> getExtensionOids()
ExtendedOperationHandlergetExtensionOids in interface ExtendedOperationHandler<org.apache.directory.api.ldap.extras.extended.GracefulShutdownRequest,org.apache.directory.api.ldap.extras.extended.GracefulShutdownResponse>public void setLdapServer(LdapServer ldapServer)
ExtendedOperationHandlersetLdapServer in interface ExtendedOperationHandler<org.apache.directory.api.ldap.extras.extended.GracefulShutdownRequest,org.apache.directory.api.ldap.extras.extended.GracefulShutdownResponse>ldapServer - the ldap protocol serverCopyright © 2003-2013 The Apache Software Foundation. All Rights Reserved.