org.apache.directory.server.ldap.handlers.extended
Class GracefulShutdownHandler

java.lang.Object
  extended by org.apache.directory.server.ldap.handlers.extended.GracefulShutdownHandler
All Implemented Interfaces:
ExtendedOperationHandler

public class GracefulShutdownHandler
extends java.lang.Object
implements ExtendedOperationHandler

'XBean'

Field Summary
static java.util.Set<java.lang.String> EXTENSION_OIDS
           
 
Constructor Summary
GracefulShutdownHandler()
           
 
Method Summary
 java.util.Set<java.lang.String> getExtensionOids()
          The OIDs of the extensions supported by this handler.
static org.apache.directory.shared.ldap.message.extended.GracefulDisconnect getGracefulDisconnect(int timeOffline, int delay)
           
 java.lang.String getOid()
          Returns the EXTENSION_OID of the extended request this handler can handle.
 void handleExtendedOperation(LdapSession requestor, org.apache.directory.shared.ldap.message.ExtendedRequest req)
          Handles the specified extended operation.
static void sendGracefulDisconnect(java.util.List<org.apache.mina.common.IoSession> sessions, org.apache.directory.shared.ldap.message.extended.GracefulDisconnect msg, org.apache.mina.common.IoSession requestor)
          Blocks to synchronously send the same GracefulDisconnect message to all managed sessions except for the requestor of the GracefulShutdown.
static void sendNoticeOfDisconnect(java.util.List<org.apache.mina.common.IoSession> sessions, org.apache.mina.common.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.common.IoSession requestor, int messageId)
          Sends a successful response.
 void setLdapServer(LdapService ldapService)
          Sets the LDAP server for this extendedOperation handler.
static void waitForDelay(int delay)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EXTENSION_OIDS

public static final java.util.Set<java.lang.String> EXTENSION_OIDS
Constructor Detail

GracefulShutdownHandler

public GracefulShutdownHandler()
Method Detail

getOid

public java.lang.String getOid()
Description copied from interface: ExtendedOperationHandler
Returns the EXTENSION_OID of the extended request this handler can handle.

Specified by:
getOid in interface ExtendedOperationHandler

handleExtendedOperation

public void handleExtendedOperation(LdapSession requestor,
                                    org.apache.directory.shared.ldap.message.ExtendedRequest req)
                             throws java.lang.Exception
Description copied from interface: ExtendedOperationHandler
Handles the specified extended operation.

Specified by:
handleExtendedOperation in interface ExtendedOperationHandler
Parameters:
requestor - the session object related with current connection
req - the LDAP Extended operation request
Throws:
java.lang.Exception - if failed to handle the operation

sendShutdownResponse

public static void sendShutdownResponse(org.apache.mina.common.IoSession requestor,
                                        int messageId)
Sends a successful response.

Parameters:
requestor - the session of the requestor
messageId - the message id associaed with this shutdown request

sendGracefulDisconnect

public static void sendGracefulDisconnect(java.util.List<org.apache.mina.common.IoSession> sessions,
                                          org.apache.directory.shared.ldap.message.extended.GracefulDisconnect msg,
                                          org.apache.mina.common.IoSession requestor)
Blocks to synchronously send the same GracefulDisconnect message to all managed sessions except for the requestor of the GracefulShutdown.

Parameters:
msg - the graceful disconnec extended request to send
requestor - the session of the graceful shutdown requestor
sessions - the IoSessions to send disconnect message to

sendNoticeOfDisconnect

public static void sendNoticeOfDisconnect(java.util.List<org.apache.mina.common.IoSession> sessions,
                                          org.apache.mina.common.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.

Parameters:
requestor - the session of the graceful shutdown requestor
sessions - the sessions from mina

getGracefulDisconnect

public static org.apache.directory.shared.ldap.message.extended.GracefulDisconnect getGracefulDisconnect(int timeOffline,
                                                                                                         int delay)

waitForDelay

public static void waitForDelay(int delay)

getExtensionOids

public java.util.Set<java.lang.String> getExtensionOids()
Description copied from interface: ExtendedOperationHandler
The OIDs of the extensions supported by this handler. This includes the request as well as any responses associated with the request. These OIDs will be registered with the server to publish them as supportedExtensions.

Specified by:
getExtensionOids in interface ExtendedOperationHandler
Returns:
the OIDs supported by this handler.

setLdapServer

public void setLdapServer(LdapService ldapService)
Description copied from interface: ExtendedOperationHandler
Sets the LDAP server for this extendedOperation handler.

Specified by:
setLdapServer in interface ExtendedOperationHandler
Parameters:
ldapService - the ldap protocol server


Copyright © 2003-2009 Apache Software Foundation. All Rights Reserved.