com.hazelcast.core

## Class MembershipEvent

- java.lang.Object
- - java.util.EventObject
  - - com.hazelcast.core.MembershipEvent

- All Implemented Interfaces:
    Serializable
  Direct Known Subclasses:
    MemberAttributeEvent, MembershipServiceEvent

      public class MembershipEvent
      extends EventObject

  Membership event fired when a new member is added to the cluster and/or when a member leaves the cluster or when there is a member attribute change via `Member.setBooleanAttribute(String, boolean)` and similar methods.
  See Also:
    `MembershipListener`, Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `MEMBER_ADDED` This event type is fired when a new member joins the cluster.
    `static int` | `MEMBER_ATTRIBUTE_CHANGED` This event type is fired if a member attribute has been changed or removed.
    `static int` | `MEMBER_REMOVED` This event type is fired if a member left the cluster or was decided to be unresponsive by other members for a extended time.

    - ### Fields inherited from class java.util.EventObject

      `source`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MembershipEvent(Cluster cluster, Member member, int eventType, Set<Member> members)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Cluster` | `getCluster()` Returns the cluster of the event.
    `int` | `getEventType()` Returns the membership event type; #MEMBER_ADDED #MEMBER_REMOVED #MEMBER_ATTRIBUTE_CHANGED
    `Member` | `getMember()` Returns the removed or added member.
    `Set<Member>` | `getMembers()` Returns a consistent view of the the members immediately after this MembershipEvent has been processed.
    `String` | `toString()`

    - ### Methods inherited from class java.util.EventObject

      `getSource`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### MEMBER_ADDED

          public static final int MEMBER_ADDED

      This event type is fired when a new member joins the cluster.
      See Also:
        Constant Field Values

    - #### MEMBER_REMOVED

          public static final int MEMBER_REMOVED

      This event type is fired if a member left the cluster or was decided to be unresponsive by other members for a extended time.
      See Also:
        Constant Field Values

    - #### MEMBER_ATTRIBUTE_CHANGED

          public static final int MEMBER_ATTRIBUTE_CHANGED

      This event type is fired if a member attribute has been changed or removed.
      Since:
        3.2
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### MembershipEvent

          public MembershipEvent(Cluster cluster,
                                 Member member,
                                 int eventType,
                                 Set<Member> members)

  - ### Method Detail

    - #### getMembers

          public Set<Member> getMembers()

      Returns a consistent view of the the members immediately after this MembershipEvent has been processed. If a member is removed, the returned set will not include this member. If a member is added, it will include this member.

      The problem with calling the `Cluster.getMembers()` method is that the content could already have changed while processing this event, so it becomes very difficult to write a deterministic algorithm since you cannot get a deterministic view of the members. This method solves that problem.

      The set is immutable and ordered. For more information see `Cluster.getMembers()`. Warning: If the event is triggered by a member attribute change then `members` is empty.
      Returns:
        the members at the moment after this event.

    - #### getCluster

          public Cluster getCluster()

      Returns the cluster of the event.
      Returns:
        the current cluster instance

    - #### getEventType

          public int getEventType()

      Returns the membership event type; #MEMBER_ADDED #MEMBER_REMOVED #MEMBER_ATTRIBUTE_CHANGED
      Returns:
        the membership event type

    - #### getMember

          public Member getMember()

      Returns the removed or added member.
      Returns:
        member which is removed or added

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `EventObject`

Copyright © 2020. All rights reserved.