Class Member

java.lang.Object
org.apache.pekko.cluster.Member
All Implemented Interfaces:
Serializable

public class Member extends Object implements Serializable
Represents the address, current status, and roles of a cluster member node.

Note: hashCode and equals are solely based on the underlying Address, not its MemberStatus and roles.

See Also:
  • Method Details

    • none

      public static scala.collection.immutable.Set<Member> none()
    • addressOrdering

      public static scala.math.Ordering<Address> addressOrdering()
      Address ordering type class, sorts addresses by host and port.
    • ordering

      public static scala.math.Ordering<Member> ordering()
      Member ordering type class, sorts members by host and port.
    • ageOrdering

      public static scala.math.Ordering<Member> ageOrdering()
      Sort members by age, i.e. using isOlderThan(org.apache.pekko.cluster.Member).

      Note that it only makes sense to compare with other members of same data center. To avoid mistakes of comparing members of different data centers it will throw IllegalArgumentException if the members belong to different data centers.

    • highestPriorityOf

      public static Member highestPriorityOf(Member m1, Member m2)
      Picks the Member with the highest "priority" MemberStatus. Where highest priority is furthest along the membership state machine
    • uniqueAddress

      public UniqueAddress uniqueAddress()
    • status

      public MemberStatus status()
    • roles

      public scala.collection.immutable.Set<String> roles()
    • appVersion

      public Version appVersion()
    • dataCenter

      public String dataCenter()
    • address

      public Address address()
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • hasRole

      public boolean hasRole(String role)
    • getRoles

      public Set<String> getRoles()
      Java API
    • isOlderThan

      public boolean isOlderThan(Member other) throws IllegalArgumentException
      Is this member older, has been part of cluster longer, than another member. It is only correct when comparing two existing members in a cluster. A member that joined after removal of another member may be considered older than the removed member.

      Note that it only makes sense to compare with other members of same data center (upNumber has a higher risk of being reused across data centers). To avoid mistakes of comparing members of different data centers this method will throw IllegalArgumentException if the members belong to different data centers.

      Throws:
      IllegalArgumentException
    • copy

      public Member copy(MemberStatus status)
    • copyUp

      public Member copyUp(int upNumber)