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

java.lang.Object
  extended by com.sun.enterprise.ee.cms.impl.common.JoinedAndReadyNotificationSignalImpl
All Implemented Interfaces:
GroupStartupNotificationSignal, JoinedAndReadyNotificationSignal, Signal

public class JoinedAndReadyNotificationSignalImpl
extends Object
implements JoinedAndReadyNotificationSignal

Implements JoinedAndReadyNotificationSignal

Author:
Sheetal Vartak Date: 11/13/07

Field Summary
protected static Logger logger
           
 
Constructor Summary
JoinedAndReadyNotificationSignalImpl(String memberToken, 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
 List<String> getAllCurrentMembers()
           
 List<String> getCurrentCoreMembers()
           
 GMSConstants.startupType getEventSubType()
          Denote whether Joining member is joining group as part of an entire group startup or not.
 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.
 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
 
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

JoinedAndReadyNotificationSignalImpl

public JoinedAndReadyNotificationSignalImpl(String memberToken,
                                            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

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

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 PlannedShutdownSignal, 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

getCurrentCoreMembers

public List<String> getCurrentCoreMembers()
Specified by:
getCurrentCoreMembers in interface JoinedAndReadyNotificationSignal

getAllCurrentMembers

public List<String> getAllCurrentMembers()
Specified by:
getAllCurrentMembers in interface JoinedAndReadyNotificationSignal

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()
Description copied from interface: Signal
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

getEventSubType

public GMSConstants.startupType getEventSubType()
Description copied from interface: GroupStartupNotificationSignal
Denote whether Joining member is joining group as part of an entire group startup or not.

Handlers of Join and JoinAndReady notifications may use this information to optimize their handlers to perform differently based on whether all members of group are being started at same time or whether a instance is just joining an already running group.

Specified by:
getEventSubType in interface GroupStartupNotificationSignal


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