Class Membership
- java.lang.Object
- 
- org.apache.catalina.tribes.membership.Membership
 
- 
- All Implemented Interfaces:
- java.lang.Cloneable
 
 public class Membership extends java.lang.Object implements java.lang.CloneableA membership implementation using simple multicast. This is the representation of a multicast membership. This class is responsible for maintaining a list of active cluster nodes in the cluster. If a node fails to send out a heartbeat, the node will be dismissed.- Author:
- Peter Rossbach
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description protected static classMembership.MbrEntryInner class that represents a member entry
 - 
Field SummaryFields Modifier and Type Field Description protected static Member[]EMPTY_MEMBERSprotected MemberlocalThe local member.protected java.util.HashMap<Member,Membership.MbrEntry>mapA map of all the members in the cluster.protected java.util.Comparator<Member>memberComparatorComparator for sorting members by alive time.protected Member[]membersA list of all the members in the cluster.
 - 
Constructor SummaryConstructors Constructor Description Membership(Member local)Membership(Member local, boolean includeLocal)Constructs a new membershipMembership(Member local, java.util.Comparator<Member> comp)Membership(Member local, java.util.Comparator<Member> comp, boolean includeLocal)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description Membership.MbrEntryaddMember(Member member)Add a member to this component and sort array with memberComparatorMembershipclone()booleancontains(Member mbr)Member[]expire(long maxtime)Runs a refresh cycle and returns a list of members that has expired.MembergetMember(Member mbr)Member[]getMembers()Returning a list of all the members in the membership.booleanhasMembers()Returning that service has members or not.booleanmemberAlive(Member member)Notify the membership that this member has announced itself.voidremoveMember(Member member)Remove a member from this component.voidreset()Reset the membership and start over fresh. i.e., delete all the members and wait for them to ping again and join this membership.
 
- 
- 
- 
Field Detail- 
EMPTY_MEMBERSprotected static final Member[] EMPTY_MEMBERS 
 - 
localprotected final Member local The local member.
 - 
mapprotected java.util.HashMap<Member,Membership.MbrEntry> map A map of all the members in the cluster.
 - 
membersprotected volatile Member[] members A list of all the members in the cluster.
 - 
memberComparatorprotected final java.util.Comparator<Member> memberComparator Comparator for sorting members by alive time.
 
- 
 - 
Method Detail- 
clonepublic Membership clone() - Overrides:
- clonein class- java.lang.Object
 
 - 
resetpublic void reset() Reset the membership and start over fresh. i.e., delete all the members and wait for them to ping again and join this membership.
 - 
memberAlivepublic boolean memberAlive(Member member) Notify the membership that this member has announced itself.- Parameters:
- member- - the member that just pinged us
- Returns:
- - true if this member is new to the cluster, false otherwise.
 - false if this member is the local member or updated.
 
 - 
addMemberpublic Membership.MbrEntry addMember(Member member) Add a member to this component and sort array with memberComparator- Parameters:
- member- The member to add
- Returns:
- The member entry created for this new member.
 
 - 
removeMemberpublic void removeMember(Member member) Remove a member from this component.- Parameters:
- member- The member to remove
 
 - 
expirepublic Member[] expire(long maxtime) Runs a refresh cycle and returns a list of members that has expired. This also removes the members from the membership, in such a way that getMembers() = getMembers() - expire()- Parameters:
- maxtime- - the max time a member can remain unannounced before it is considered dead.
- Returns:
- the list of expired members
 
 - 
hasMemberspublic boolean hasMembers() Returning that service has members or not.- Returns:
- trueif there are one or more members, otherwise- false
 
 - 
containspublic boolean contains(Member mbr) 
 - 
getMemberspublic Member[] getMembers() Returning a list of all the members in the membership. We not need a copy: add and remove generate new arrays.- Returns:
- An array of the current members
 
 
- 
 
-