|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.sun.enterprise.ee.cms.impl.common.GroupManagementServiceImpl
public class GroupManagementServiceImpl
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface com.sun.enterprise.ee.cms.core.GroupManagementService |
|---|
GroupManagementService.MemberType, GroupManagementService.RECOVERY_STATE |
| Constructor Summary | |
|---|---|
GroupManagementServiceImpl(String serverToken,
String groupName,
GroupManagementService.MemberType membertype,
Properties properties)
Creates a GMSContext instance with the given paramters. |
|
| Method Summary | |
|---|---|
void |
addActionFactory(FailureNotificationActionFactory failureNotificationActionFactory)
Registers a FailureNotificationActionFactory instance. |
void |
addActionFactory(FailureSuspectedActionFactory failureSuspectedActionFactory)
Registers a FailureSuspectedActionFactory Instance. |
void |
addActionFactory(GroupLeadershipNotificationActionFactory groupLeadershipNotificationActionFactory)
Registers a GroupLeadershipNotificationActionFactory instance. |
void |
addActionFactory(JoinedAndReadyNotificationActionFactory joinedAndReadyNotificationActionFactory)
Registers a JoinedAndReadyNotificationActionFactory instance. |
void |
addActionFactory(JoinNotificationActionFactory joinNotificationActionFactory)
Registers a JoinNotificationActionFactory instance. |
void |
addActionFactory(MessageActionFactory messageActionFactory,
String componentName)
Registers a MessageActionFactory instance for the specified component name. |
void |
addActionFactory(PlannedShutdownActionFactory plannedShutdownActionFactory)
Registers a PlannedShuttdownActionFactory instance. |
void |
addActionFactory(String componentName,
FailureRecoveryActionFactory failureRecoveryActionFactory)
Registers a FailureRecoveryActionFactory instance. |
void |
announceGroupShutdown(String groupName,
GMSConstants.shutdownState shutdownState)
This method is used to announce that the group is about to be shutdown. |
void |
announceGroupStartup(String groupName,
GMSConstants.groupStartupState startupState,
List<String> memberTokens)
This method can be used by a controlling parent application that has a static preconfiguration of all members of the group to announce that the parent application is "initiating" and then that it has "completed" startup of all preconfigured members of this group. |
void |
announceWatchdogObservedFailure(String serverToken)
GMS WATCHDOG member reports serverToken has been observed to have failed to this GMS group. |
Map<Serializable,Serializable> |
getAllMemberDetails(Serializable key)
returns the member details pertaining to the given key. |
GroupHandle |
getGroupHandle()
Returns an implementation of GroupHandle |
String |
getGroupName()
Returns the group name for this context |
String |
getInstanceName()
Returns the Instance name for this context |
Map<Serializable,Serializable> |
getMemberDetails(String memberToken)
returns the details pertaining to the given member. |
GroupManagementService.MemberType |
getMemberType()
Returns the MemberType for this context |
boolean |
isGroupBeingShutdown(String groupName)
This API allows applications to query GMS to see if the group is shutting down. |
void |
join()
Invokes the underlying group communication library's group creation and joining operations. |
void |
removeActionFactory(FailureNotificationActionFactory failureNotificationActionFactory)
Removes a FailureNotificationActionFactory instance To remove a MessageActionFactory for a specific component, use the method: removeActionFactory(String componentName); |
void |
removeActionFactory(GroupLeadershipNotificationActionFactory groupLeadershipNotificationActionFactory)
Removes a GroupLeadershipNotificationActionFactory instance |
void |
removeActionFactory(JoinedAndReadyNotificationActionFactory joinedAndReadyNotificationActionFactory)
Removes a JoinedAndReadyNotificationActionFactory instance To remove a MessageActionFactory for a specific component, use the method: removeActionFactory(String componentName); |
void |
removeActionFactory(JoinNotificationActionFactory joinNotificationActionFactory)
Removes a JoinNotificationActionFactory instance To remove a MessageActionFactory for a specific component, use the method: removeActionFactory(String componentName); |
void |
removeActionFactory(PlannedShutdownActionFactory plannedShutdownActionFactory)
Removes a PlannedShutdownActionFactory instance To remove a MessageActionFactory for a specific component, use the method: removeActionFactory(String componentName); |
void |
removeFailureRecoveryActionFactory(String componentName)
Removes a FailureRecoveryActionFactory instance To remove a MessageActionFactory for a specific component, use the method: removeActionFactory(String componentName); |
void |
removeFailureSuspectedActionFactory(FailureSuspectedActionFactory failureSuspectedActionFactory)
Removes a FailureSuspectedActionFactory instance |
void |
removeMessageActionFactory(String componentName)
Removes a MessageActionFactory instance belonging to the specified component |
void |
reportJoinedAndReadyState(String groupName)
This API is provided for the parent application to report to the group its joined and ready state to begin processing its operations. |
void |
run()
|
void |
setMemberDetails(String serverToken,
Map<? extends Object,? extends Object> keyValuePairs)
for this serverToken, use the map to derive key value pairs that constitute data pertaining to this member's details |
void |
shutdown(GMSConstants.shutdownType shutdownType)
Sends a shutdown command to the GMS indicating that the parent thread is about to be shutdown as part of a planned shutdown operation |
void |
updateMemberDetails(String memberToken,
Serializable key,
Serializable value)
Enables the client to update the Member Details shared datastructure The implementation of this api updates an existing datastructure that is keyed to MEMBER_DETAILS in the DistributedStateCache which stores other shared information. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public GroupManagementServiceImpl(String serverToken,
String groupName,
GroupManagementService.MemberType membertype,
Properties properties)
serverToken - identity token of this member processgroupName - name of the groupmembertype - Type of member as specified in GroupManagementService.MemberTypeproperties - Configuration Properties| Method Detail |
|---|
public void run()
run in interface Runnablepublic void addActionFactory(FailureNotificationActionFactory failureNotificationActionFactory)
addActionFactory in interface GroupManagementServicefailureNotificationActionFactory - implementation of this interface
public void addActionFactory(String componentName,
FailureRecoveryActionFactory failureRecoveryActionFactory)
addActionFactory in interface GroupManagementServicecomponentName - name of componentfailureRecoveryActionFactory - implmentation of this interfacepublic void addActionFactory(JoinedAndReadyNotificationActionFactory joinedAndReadyNotificationActionFactory)
addActionFactory in interface GroupManagementServicejoinedAndReadyNotificationActionFactory - Implementation of this interface produces
a JoinedAndReadyNotificationAction instance which consumes the member
joined and ready notification signal.public void addActionFactory(JoinNotificationActionFactory joinNotificationActionFactory)
addActionFactory in interface GroupManagementServicejoinNotificationActionFactory - implementation of this interfacepublic void addActionFactory(PlannedShutdownActionFactory plannedShutdownActionFactory)
addActionFactory in interface GroupManagementServiceplannedShutdownActionFactory - implementation of this interface
public void addActionFactory(MessageActionFactory messageActionFactory,
String componentName)
addActionFactory in interface GroupManagementServicemessageActionFactory - implementation of this interfacecomponentName - name of component to identify target component for message deliverypublic void addActionFactory(FailureSuspectedActionFactory failureSuspectedActionFactory)
GroupManagementService
addActionFactory in interface GroupManagementServicefailureSuspectedActionFactory - Implementation of this interface produces
a Failure Suspected Action instance that would consume the FailureSuspectedSignalpublic void addActionFactory(GroupLeadershipNotificationActionFactory groupLeadershipNotificationActionFactory)
GroupManagementService
addActionFactory in interface GroupManagementServicegroupLeadershipNotificationActionFactory - Implementation of this interface produces
a GroupLeadershipNotificationAction instance which consumes the GroupLeadershipNotificationSignalpublic void removeActionFactory(FailureNotificationActionFactory failureNotificationActionFactory)
removeActionFactory in interface GroupManagementServicefailureNotificationActionFactory - implementation of this interfacepublic void removeFailureRecoveryActionFactory(String componentName)
removeFailureRecoveryActionFactory in interface GroupManagementServicecomponentName - name of componentpublic void removeFailureSuspectedActionFactory(FailureSuspectedActionFactory failureSuspectedActionFactory)
GroupManagementService
removeFailureSuspectedActionFactory in interface GroupManagementServicefailureSuspectedActionFactory - the factory to removepublic void removeActionFactory(JoinNotificationActionFactory joinNotificationActionFactory)
removeActionFactory in interface GroupManagementServicejoinNotificationActionFactory - implementation of this interfacepublic void removeActionFactory(JoinedAndReadyNotificationActionFactory joinedAndReadyNotificationActionFactory)
removeActionFactory in interface GroupManagementServicejoinedAndReadyNotificationActionFactory - implementation of this interfacepublic void removeActionFactory(PlannedShutdownActionFactory plannedShutdownActionFactory)
removeActionFactory in interface GroupManagementServiceplannedShutdownActionFactory - implementation of this interfacepublic void removeMessageActionFactory(String componentName)
removeMessageActionFactory in interface GroupManagementServicecomponentName - name of componentpublic void removeActionFactory(GroupLeadershipNotificationActionFactory groupLeadershipNotificationActionFactory)
GroupManagementService
removeActionFactory in interface GroupManagementServicepublic GroupHandle getGroupHandle()
getGroupHandle in interface GroupManagementServicepublic void shutdown(GMSConstants.shutdownType shutdownType)
shutdown in interface GroupManagementServiceshutdownType - the shutdown type
public void updateMemberDetails(String memberToken,
Serializable key,
Serializable value)
throws GMSException
GroupManagementService
updateMemberDetails in interface GroupManagementServicememberToken - - identifier token of this memberkey - - Serializable object that uniquely identifies this cachable
statevalue - - Serializable object that is to be stored in the shared
cache
GMSException - if a group membership service error occurspublic Map<Serializable,Serializable> getMemberDetails(String memberToken)
getMemberDetails in interface GroupManagementServicememberToken - identity token of the member process
public Map<Serializable,Serializable> getAllMemberDetails(Serializable key)
GroupManagementService
getAllMemberDetails in interface GroupManagementServicekey - the map key
public String getGroupName()
GroupManagementService
getGroupName in interface GroupManagementServicepublic GroupManagementService.MemberType getMemberType()
GroupManagementService
getMemberType in interface GroupManagementServicepublic String getInstanceName()
GroupManagementService
getInstanceName in interface GroupManagementService
public void setMemberDetails(String serverToken,
Map<? extends Object,? extends Object> keyValuePairs)
throws GMSException
serverToken - - member token id for this member.keyValuePairs - - a Map containing key-value pairs
GMSException - wraps underlying exception that caused adding of member details to fail.
public void join()
throws GMSException
GroupManagementService
join in interface GroupManagementServiceGMSException - wraps any underlying exception that causes join to not occur
public void announceGroupShutdown(String groupName,
GMSConstants.shutdownState shutdownState)
announceGroupShutdown in interface GroupManagementServicegroupName - name of group being shutdown.shutdownState - from GMSConstants.shutdownState - one of Initiated
or Completed
public void announceGroupStartup(String groupName,
GMSConstants.groupStartupState startupState,
List<String> memberTokens)
GroupManagementServiceGroup members in parameter members is interpreted differently based on startupState.
All preconfigured members of group are passed in members when
GMSConstants.groupStartupState.INITIATED or GMSConstants.groupStartupState.COMPLETED_SUCCESS.
When startupState is GMSConstants.groupStartupState.COMPLETED_FAILED, members is a list of the
members that failed to start.
announceGroupStartup in interface GroupManagementServicegroupName - the group namestartupState - demarcate initiation of groupStartup and completion of group startupmemberTokens - list of memberTokens.public void reportJoinedAndReadyState(String groupName)
This API is provided for the parent application to report to the group its joined and ready state to begin processing its operations. The group member that this parent application represents is now ready to process its operations at the time of this announcement to the group. GMS clients in all other group members that are interested in knowing when another member is ready to start processing operations, can subscribe to the event JoinedAndReadyEvent and be notified of this JoinedAndReadyNotificationSignal.
This api should be called only after group join operation has completed.
reportJoinedAndReadyState in interface GroupManagementServicegroupName - name of the grouppublic boolean isGroupBeingShutdown(String groupName)
This API allows applications to query GMS to see if the group is shutting down. This helps with any pre-shutdown processing that may be required to be done on the application's side.
Also returns true when called after the gms context has left the group during a group shutdown.
isGroupBeingShutdown in interface GroupManagementServicegroupName - the group name
public void announceWatchdogObservedFailure(String serverToken)
throws GMSException
GroupManagementServiceserverToken has been observed to have failed to this GMS group.
This is merely a hint and the GMS system validates that the GMS member has truely failed using
the same verification algorithm used when GMS heartbeat reports a member is INDOUBT and SUSPECTED of
failure.
Allows for enhanced GMS failure detection by external control entities (one example is NodeAgent of Glassfish Application Server.)
Only a GMS MemberType of WATCHDOG is allowed to broadcast to all members of a group that this serverToken has likely failed.
announceWatchdogObservedFailure in interface GroupManagementServiceserverToken - failed member
GMSException - if called by a member that is not a WATCHDOG member or if serverToken is not currently running in group.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||