com.sun.enterprise.ee.cms.impl.common
Class GroupLeadershipNotificationSignalImpl

java.lang.Object
  extended by com.sun.enterprise.ee.cms.impl.common.GroupLeadershipNotificationSignalImpl
All Implemented Interfaces:
GroupLeadershipNotificationSignal, Signal

public class GroupLeadershipNotificationSignalImpl
extends Object
implements GroupLeadershipNotificationSignal

Implements GroupLeadershipNotificationSignal

Author:
Bongjae Chang

Field Summary
protected static Logger logger
           
 
Constructor Summary
GroupLeadershipNotificationSignalImpl(String memberToken, List<GMSMember> previousView, List<GMSMember> currentView, List<String> currentCoreMembers, List<String> allCurrentMembers, String groupName, long startTime)
           
 
Method Summary
 void acquire()
          Signal is acquired prior to processing of the signal to protect group resources being acquired from being affected by a race condition Signal must be mandatorily acquired before any processing for recovery operations.
 List<String> getAllCurrentMembers()
          provides a list of all live members i.e.
 List<String> getCurrentCoreMembers()
          provides a list of all live and current CORE designated members.
 List<GMSMember> getCurrentView()
          provides a list of the current view's snapshot at time signal arrives.
 String getGroupName()
          returns the group to which the member involved in the Signal belonged to
 Map<Serializable,Serializable> getMemberDetails()
          returns the details of the member who caused this Signal to be generated returns a Map containing key-value pairs constituting data pertaining to the member's details
 String getMemberToken()
          returns the identity token of the member that caused this signal to be generated.
 List<GMSMember> getPreviousView()
          provides a list of the previous view's snapshot at time signal arrives.
 long getStartTime()
          returns the start time of the member involved in this Signal.
 void release()
          Signal is released after processing of the signal to bring the group resources to a state of availability Signal should be madatorily released after recovery process is completed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected static final Logger logger
Constructor Detail

GroupLeadershipNotificationSignalImpl

public GroupLeadershipNotificationSignalImpl(String memberToken,
                                             List<GMSMember> previousView,
                                             List<GMSMember> currentView,
                                             List<String> currentCoreMembers,
                                             List<String> allCurrentMembers,
                                             String groupName,
                                             long startTime)
Method Detail

acquire

public void acquire()
             throws SignalAcquireException
Signal is acquired prior to processing of the signal to protect group resources being acquired from being affected by a race condition Signal must be mandatorily acquired before any processing for recovery operations.

Specified by:
acquire in interface Signal
Throws:
SignalAcquireException

release

public void release()
             throws SignalReleaseException
Signal is released after processing of the signal to bring the group resources to a state of availability Signal should be madatorily released after recovery process is completed.

Specified by:
release in interface Signal
Throws:
SignalReleaseException

getMemberToken

public String getMemberToken()
returns the identity token of the member that caused this signal to be generated. For instance, in the case of a MessageSignal, this member token would be the sender. In the case of a FailureNotificationSignal, this member token would be the failed member. In the case of a JoinNotificationSignal or GracefulShutdownSignal, the member token would be the member who joined or is being gracefully shutdown, respectively.

Specified by:
getMemberToken in interface Signal
Returns:
returns the identity token of the member

getMemberDetails

public Map<Serializable,Serializable> getMemberDetails()
returns the details of the member who caused this Signal to be generated returns a Map containing key-value pairs constituting data pertaining to the member's details

Specified by:
getMemberDetails in interface Signal
Returns:
Map

getGroupName

public String getGroupName()
returns the group to which the member involved in the Signal belonged to

Specified by:
getGroupName in interface Signal
Returns:
String

getStartTime

public long getStartTime()
returns the start time of the member involved in this Signal.

Specified by:
getStartTime in interface Signal
Returns:
long - time stamp of when this member started

getPreviousView

public List<GMSMember> getPreviousView()
provides a list of the previous view's snapshot at time signal arrives.

Specified by:
getPreviousView in interface GroupLeadershipNotificationSignal
Returns:
List containing the list of GMSMembers which are corresponding to the view

getCurrentView

public List<GMSMember> getCurrentView()
provides a list of the current view's snapshot at time signal arrives.

Specified by:
getCurrentView in interface GroupLeadershipNotificationSignal
Returns:
List containing the list of GMSMembers which are corresponding to the view

getCurrentCoreMembers

public List<String> getCurrentCoreMembers()
provides a list of all live and current CORE designated members.

Specified by:
getCurrentCoreMembers in interface GroupLeadershipNotificationSignal
Returns:
List containing the list of member token ids of core members

getAllCurrentMembers

public List<String> getAllCurrentMembers()
provides a list of all live members i.e. CORE and SPECTATOR members.

Specified by:
getAllCurrentMembers in interface GroupLeadershipNotificationSignal
Returns:
List containing the list of member token ids of all members


Copyright © 2003 Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.