<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>RegionMembershipListener (Apache Geode 1.15.1)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="RegionMembershipListener (Apache Geode 1.15.1)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/geode/cache/RegionFactory.html" title="class in org.apache.geode.cache"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/geode/cache/RegionReinitializedException.html" title="class in org.apache.geode.cache"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/geode/cache/RegionMembershipListener.html" target="_top">Frames</a></li>
<li><a href="RegionMembershipListener.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.geode.cache</div>
<h2 title="Interface RegionMembershipListener" class="title">Interface RegionMembershipListener&lt;K,V&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../org/apache/geode/cache/CacheCallback.html" title="interface in org.apache.geode.cache">CacheCallback</a>, <a href="../../../../org/apache/geode/cache/CacheListener.html" title="interface in org.apache.geode.cache">CacheListener</a>&lt;K,V&gt;, <a href="../../../../org/apache/geode/cache/Declarable.html" title="interface in org.apache.geode.cache">Declarable</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/apache/geode/cache/util/RegionMembershipListenerAdapter.html" title="class in org.apache.geode.cache.util">RegionMembershipListenerAdapter</a>, <a href="../../../../org/apache/geode/cache/util/RegionRoleListenerAdapter.html" title="class in org.apache.geode.cache.util">RegionRoleListenerAdapter</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">RegionMembershipListener&lt;K,V&gt;</span>
extends <a href="../../../../org/apache/geode/cache/CacheListener.html" title="interface in org.apache.geode.cache">CacheListener</a>&lt;K,V&gt;</pre>
<div class="block">A listener that can be implemented to handle region membership events.

 <p>
 Instead of implementing this interface it is recommended that you extend the
 <a href="../../../../org/apache/geode/cache/util/RegionMembershipListenerAdapter.html" title="class in org.apache.geode.cache.util"><code>RegionMembershipListenerAdapter</code></a> class.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>GemFire 5.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/geode/cache/AttributesFactory.html#addCacheListener-org.apache.geode.cache.CacheListener-"><code>AttributesFactory.addCacheListener(org.apache.geode.cache.CacheListener&lt;K, V&gt;)</code></a>, 
<a href="../../../../org/apache/geode/cache/AttributesFactory.html#initCacheListeners-org.apache.geode.cache.CacheListener:A-"><code>AttributesFactory.initCacheListeners(org.apache.geode.cache.CacheListener&lt;K, V&gt;[])</code></a>, 
<a href="../../../../org/apache/geode/cache/RegionAttributes.html#getCacheListeners--"><code>RegionAttributes.getCacheListeners()</code></a>, 
<a href="../../../../org/apache/geode/cache/AttributesMutator.html#addCacheListener-org.apache.geode.cache.CacheListener-"><code>AttributesMutator.addCacheListener(org.apache.geode.cache.CacheListener&lt;K, V&gt;)</code></a>, 
<a href="../../../../org/apache/geode/cache/AttributesMutator.html#removeCacheListener-org.apache.geode.cache.CacheListener-"><code>AttributesMutator.removeCacheListener(org.apache.geode.cache.CacheListener&lt;K, V&gt;)</code></a>, 
<a href="../../../../org/apache/geode/cache/AttributesMutator.html#initCacheListeners-org.apache.geode.cache.CacheListener:A-"><code>AttributesMutator.initCacheListeners(org.apache.geode.cache.CacheListener&lt;K, V&gt;[])</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/geode/cache/RegionMembershipListener.html#afterRemoteRegionCrash-org.apache.geode.cache.RegionEvent-">afterRemoteRegionCrash</a></span>(<a href="../../../../org/apache/geode/cache/RegionEvent.html" title="interface in org.apache.geode.cache">RegionEvent</a>&lt;<a href="../../../../org/apache/geode/cache/RegionMembershipListener.html" title="type parameter in RegionMembershipListener">K</a>,<a href="../../../../org/apache/geode/cache/RegionMembershipListener.html" title="type parameter in RegionMembershipListener">V</a>&gt;&nbsp;event)</code>
<div class="block">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.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/geode/cache/RegionMembershipListener.html#afterRemoteRegionCreate-org.apache.geode.cache.RegionEvent-">afterRemoteRegionCreate</a></span>(<a href="../../../../org/apache/geode/cache/RegionEvent.html" title="interface in org.apache.geode.cache">RegionEvent</a>&lt;<a href="../../../../org/apache/geode/cache/RegionMembershipListener.html" title="type parameter in RegionMembershipListener">K</a>,<a href="../../../../org/apache/geode/cache/RegionMembershipListener.html" title="type parameter in RegionMembershipListener">V</a>&gt;&nbsp;event)</code>
<div class="block">Invoked when another member has created the distributed region this listener is on.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/geode/cache/RegionMembershipListener.html#afterRemoteRegionDeparture-org.apache.geode.cache.RegionEvent-">afterRemoteRegionDeparture</a></span>(<a href="../../../../org/apache/geode/cache/RegionEvent.html" title="interface in org.apache.geode.cache">RegionEvent</a>&lt;<a href="../../../../org/apache/geode/cache/RegionMembershipListener.html" title="type parameter in RegionMembershipListener">K</a>,<a href="../../../../org/apache/geode/cache/RegionMembershipListener.html" title="type parameter in RegionMembershipListener">V</a>&gt;&nbsp;event)</code>
<div class="block">Invoked when another member's distributed region is no longer available to this cache due to
 normal operations.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/geode/cache/RegionMembershipListener.html#initialMembers-org.apache.geode.cache.Region-org.apache.geode.distributed.DistributedMember:A-">initialMembers</a></span>(<a href="../../../../org/apache/geode/cache/Region.html" title="interface in org.apache.geode.cache">Region</a>&lt;<a href="../../../../org/apache/geode/cache/RegionMembershipListener.html" title="type parameter in RegionMembershipListener">K</a>,<a href="../../../../org/apache/geode/cache/RegionMembershipListener.html" title="type parameter in RegionMembershipListener">V</a>&gt;&nbsp;region,
              <a href="../../../../org/apache/geode/distributed/DistributedMember.html" title="interface in org.apache.geode.distributed">DistributedMember</a>[]&nbsp;initialMembers)</code>
<div class="block">Invoked when the listener is first initialized and is given the set of members that have the
 region created at that time.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.geode.cache.CacheListener">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.geode.cache.<a href="../../../../org/apache/geode/cache/CacheListener.html" title="interface in org.apache.geode.cache">CacheListener</a></h3>
<code><a href="../../../../org/apache/geode/cache/CacheListener.html#afterCreate-org.apache.geode.cache.EntryEvent-">afterCreate</a>, <a href="../../../../org/apache/geode/cache/CacheListener.html#afterDestroy-org.apache.geode.cache.EntryEvent-">afterDestroy</a>, <a href="../../../../org/apache/geode/cache/CacheListener.html#afterInvalidate-org.apache.geode.cache.EntryEvent-">afterInvalidate</a>, <a href="../../../../org/apache/geode/cache/CacheListener.html#afterRegionClear-org.apache.geode.cache.RegionEvent-">afterRegionClear</a>, <a href="../../../../org/apache/geode/cache/CacheListener.html#afterRegionCreate-org.apache.geode.cache.RegionEvent-">afterRegionCreate</a>, <a href="../../../../org/apache/geode/cache/CacheListener.html#afterRegionDestroy-org.apache.geode.cache.RegionEvent-">afterRegionDestroy</a>, <a href="../../../../org/apache/geode/cache/CacheListener.html#afterRegionInvalidate-org.apache.geode.cache.RegionEvent-">afterRegionInvalidate</a>, <a href="../../../../org/apache/geode/cache/CacheListener.html#afterRegionLive-org.apache.geode.cache.RegionEvent-">afterRegionLive</a>, <a href="../../../../org/apache/geode/cache/CacheListener.html#afterUpdate-org.apache.geode.cache.EntryEvent-">afterUpdate</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.geode.cache.CacheCallback">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.geode.cache.<a href="../../../../org/apache/geode/cache/CacheCallback.html" title="interface in org.apache.geode.cache">CacheCallback</a></h3>
<code><a href="../../../../org/apache/geode/cache/CacheCallback.html#close--">close</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.geode.cache.Declarable">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.geode.cache.<a href="../../../../org/apache/geode/cache/Declarable.html" title="interface in org.apache.geode.cache">Declarable</a></h3>
<code><a href="../../../../org/apache/geode/cache/Declarable.html#init-java.util.Properties-">init</a>, <a href="../../../../org/apache/geode/cache/Declarable.html#initialize-org.apache.geode.cache.Cache-java.util.Properties-">initialize</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="initialMembers-org.apache.geode.cache.Region-org.apache.geode.distributed.DistributedMember:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialMembers</h4>
<pre>void&nbsp;initialMembers(<a href="../../../../org/apache/geode/cache/Region.html" title="interface in org.apache.geode.cache">Region</a>&lt;<a href="../../../../org/apache/geode/cache/RegionMembershipListener.html" title="type parameter in RegionMembershipListener">K</a>,<a href="../../../../org/apache/geode/cache/RegionMembershipListener.html" title="type parameter in RegionMembershipListener">V</a>&gt;&nbsp;region,
                    <a href="../../../../org/apache/geode/distributed/DistributedMember.html" title="interface in org.apache.geode.distributed">DistributedMember</a>[]&nbsp;initialMembers)</pre>
<div class="block">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:
 <ul>
 <li>the region is created with an already added listener
 <li>a listener is added using the <a href="../../../../org/apache/geode/cache/AttributesMutator.html" title="interface in org.apache.geode.cache"><code>AttributesMutator</code></a>.
 </ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>region</code> - the <a href="../../../../org/apache/geode/cache/Region.html" title="interface in org.apache.geode.cache"><code>Region</code></a> the listener is registered on</dd>
<dd><code>initialMembers</code> - an array of the other members that have this region at the time this
        listener is added.</dd>
</dl>
</li>
</ul>
<a name="afterRemoteRegionCreate-org.apache.geode.cache.RegionEvent-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>afterRemoteRegionCreate</h4>
<pre>void&nbsp;afterRemoteRegionCreate(<a href="../../../../org/apache/geode/cache/RegionEvent.html" title="interface in org.apache.geode.cache">RegionEvent</a>&lt;<a href="../../../../org/apache/geode/cache/RegionMembershipListener.html" title="type parameter in RegionMembershipListener">K</a>,<a href="../../../../org/apache/geode/cache/RegionMembershipListener.html" title="type parameter in RegionMembershipListener">V</a>&gt;&nbsp;event)</pre>
<div class="block">Invoked when another member has created the distributed region this listener is on.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>event</code> - the event from the member whose region was created.</dd>
</dl>
</li>
</ul>
<a name="afterRemoteRegionDeparture-org.apache.geode.cache.RegionEvent-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>afterRemoteRegionDeparture</h4>
<pre>void&nbsp;afterRemoteRegionDeparture(<a href="../../../../org/apache/geode/cache/RegionEvent.html" title="interface in org.apache.geode.cache">RegionEvent</a>&lt;<a href="../../../../org/apache/geode/cache/RegionMembershipListener.html" title="type parameter in RegionMembershipListener">K</a>,<a href="../../../../org/apache/geode/cache/RegionMembershipListener.html" title="type parameter in RegionMembershipListener">V</a>&gt;&nbsp;event)</pre>
<div class="block">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:
 <ul>
 <li><a href="../../../../org/apache/geode/cache/Region.html#localDestroyRegion--"><code>Region.localDestroyRegion()</code></a>
 <li><a href="../../../../org/apache/geode/cache/Region.html#close--"><code>Region.close()</code></a>
 <li><a href="../../../../org/apache/geode/cache/RegionService.html#close--"><code>RegionService.close()</code></a>
 </ul>
 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.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>event</code> - the event from the member whose region is no longer available.</dd>
</dl>
</li>
</ul>
<a name="afterRemoteRegionCrash-org.apache.geode.cache.RegionEvent-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>afterRemoteRegionCrash</h4>
<pre>void&nbsp;afterRemoteRegionCrash(<a href="../../../../org/apache/geode/cache/RegionEvent.html" title="interface in org.apache.geode.cache">RegionEvent</a>&lt;<a href="../../../../org/apache/geode/cache/RegionMembershipListener.html" title="type parameter in RegionMembershipListener">K</a>,<a href="../../../../org/apache/geode/cache/RegionMembershipListener.html" title="type parameter in RegionMembershipListener">V</a>&gt;&nbsp;event)</pre>
<div class="block">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.
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>event</code> - the event from the member whose region is no longer available.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/geode/cache/RegionFactory.html" title="class in org.apache.geode.cache"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/geode/cache/RegionReinitializedException.html" title="class in org.apache.geode.cache"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/geode/cache/RegionMembershipListener.html" target="_top">Frames</a></li>
<li><a href="RegionMembershipListener.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
