org.apache.geode.cache

## Interface RegionMembershipListener<K,V>

- All Superinterfaces:
    CacheCallback, CacheListener<K,V>, Declarable
  All Known Implementing Classes:
    RegionMembershipListenerAdapter, RegionRoleListenerAdapter

      public interface RegionMembershipListener<K,V>
      extends CacheListener<K,V>

  A listener that can be implemented to handle region membership events.

  Instead of implementing this interface it is recommended that you extend the `RegionMembershipListenerAdapter` class.

  Since:
    GemFire 5.0
  See Also:
    `AttributesFactory.addCacheListener(org.apache.geode.cache.CacheListener<K, V>)`, `AttributesFactory.initCacheListeners(org.apache.geode.cache.CacheListener<K, V>[])`, `RegionAttributes.getCacheListeners()`, `AttributesMutator.addCacheListener(org.apache.geode.cache.CacheListener<K, V>)`, `AttributesMutator.removeCacheListener(org.apache.geode.cache.CacheListener<K, V>)`, `AttributesMutator.initCacheListeners(org.apache.geode.cache.CacheListener<K, V>[])`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `afterRemoteRegionCrash(RegionEvent<K,V> event)` Invoked when another member's distributed region is no longer available to this cache because the member has crashed or is no longer reachable on the network.
    `void` | `afterRemoteRegionCreate(RegionEvent<K,V> event)` Invoked when another member has created the distributed region this listener is on.
    `void` | `afterRemoteRegionDeparture(RegionEvent<K,V> event)` Invoked when another member's distributed region is no longer available to this cache due to normal operations.
    `void` | `initialMembers(Region<K,V> region, DistributedMember[] initialMembers)` Invoked when the listener is first initialized and is given the set of members that have the region created at that time.

    - ### Methods inherited from interface org.apache.geode.cache.CacheListener

      `afterCreate, afterDestroy, afterInvalidate, afterRegionClear, afterRegionCreate, afterRegionDestroy, afterRegionInvalidate, afterRegionLive, afterUpdate`

    - ### Methods inherited from interface org.apache.geode.cache.CacheCallback

      `close`

    - ### Methods inherited from interface org.apache.geode.cache.Declarable

      `init`

- - ### Method Detail

    - #### initialMembers

          void initialMembers(Region<K,V> region,
                              DistributedMember[] initialMembers)

      Invoked when the listener is first initialized and is given the set of members that have the region created at that time. The listener is initialized when:
      - the region is created with an already added listener
      - a listener is added using the `AttributesMutator`.
      Parameters:
        `region` - the `Region` the listener is registered on
        `initialMembers` - an array of the other members that have this region at the time this listener is added.

    - #### afterRemoteRegionCreate

          void afterRemoteRegionCreate(RegionEvent<K,V> event)

      Invoked when another member has created the distributed region this listener is on.
      Parameters:
        `event` - the event from the member whose region was created.

    - #### afterRemoteRegionDeparture

          void afterRemoteRegionDeparture(RegionEvent<K,V> event)

      Invoked when another member's distributed region is no longer available to this cache due to normal operations. This can be triggered by one of the following methods:
      - `Region.localDestroyRegion()`
      - `Region.close()`
      - `RegionService.close()`
      This differs from afterRemoteRegionCrash notification in that the departed member performed an action either to remove its region or to close its region or cache.
      Parameters:
        `event` - the event from the member whose region is no longer available.

    - #### afterRemoteRegionCrash

          void afterRemoteRegionCrash(RegionEvent<K,V> event)

      Invoked when another member's distributed region is no longer available to this cache because the member has crashed or is no longer reachable on the network.

      Parameters:
        `event` - the event from the member whose region is no longer available.