blob: 8d6e5047bcf7d4c9cc95a8b9235fae58eda0c4e7 [file] [log] [blame]
<!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>org.apache.geode.cache (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="org.apache.geode.cache (Apache Geode 1.15.1)";
}
}
catch(err) {
}
//-->
</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 class="navBarCell1Rev">Package</li>
<li>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/annotations/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../org/apache/geode/cache/asyncqueue/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/geode/cache/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.apache.geode.cache</h1>
<div class="docSummary">
<div class="block">Provides an implementation of distributed object caching that
can leverage GemFire's distribution capabilities.</div>
</div>
<p>See:&nbsp;<a href="#package.description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/AttributesMutator.html" title="interface in org.apache.geode.cache">AttributesMutator</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">Supports modification of certain region attributes after the region has been created.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/Cache.html" title="interface in org.apache.geode.cache">Cache</a></td>
<td class="colLast">
<div class="block">Caches are obtained from the <a href="../../../../org/apache/geode/cache/CacheFactory.html#create--"><code>CacheFactory.create()</code></a> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CacheCallback.html" title="interface in org.apache.geode.cache">CacheCallback</a></td>
<td class="colLast">
<div class="block">User-defined objects that can be plugged into caching to receive callback notifications.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CacheEvent.html" title="interface in org.apache.geode.cache">CacheEvent</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">A region- or entry-related event affecting the cache.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CacheListener.html" title="interface in org.apache.geode.cache">CacheListener</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">
A listener to handle region or entry related events.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CacheLoader.html" title="interface in org.apache.geode.cache">CacheLoader</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">Allows data from outside of the VM to be placed into a region.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CacheStatistics.html" title="interface in org.apache.geode.cache">CacheStatistics</a></td>
<td class="colLast">
<div class="block">Defines common statistics information for both region and entries.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CacheTransactionManager.html" title="interface in org.apache.geode.cache">CacheTransactionManager</a></td>
<td class="colLast">
<div class="block">
The CacheTransactionManager interface allows applications to manage transactions on a per
<a href="../../../../org/apache/geode/cache/Cache.html" title="interface in org.apache.geode.cache"><code>Cache</code></a> basis.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CacheWriter.html" title="interface in org.apache.geode.cache">CacheWriter</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">A user-defined object defined in the <a href="../../../../org/apache/geode/cache/RegionAttributes.html" title="interface in org.apache.geode.cache"><code>RegionAttributes</code></a> that is called synchronously before
a region or entry in the cache is modified.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/ClientSession.html" title="interface in org.apache.geode.cache">ClientSession</a></td>
<td class="colLast">
<div class="block">Class <code>ClientSession</code> represents a client connection on the server.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CustomExpiry.html" title="interface in org.apache.geode.cache">CustomExpiry</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">This is the contract that a <code>custom-expiry</code> element must honor.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/Declarable.html" title="interface in org.apache.geode.cache">Declarable</a></td>
<td class="colLast">
<div class="block">An object that can be described in a declarative caching XML file.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/DiskStore.html" title="interface in org.apache.geode.cache">DiskStore</a></td>
<td class="colLast">
<div class="block">Provides disk storage for one or more regions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/DiskStoreFactory.html" title="interface in org.apache.geode.cache">DiskStoreFactory</a></td>
<td class="colLast">
<div class="block">Factory for creating instances of <a href="../../../../org/apache/geode/cache/DiskStore.html" title="interface in org.apache.geode.cache"><code>DiskStore</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/DiskWriteAttributes.html" title="interface in org.apache.geode.cache">DiskWriteAttributes</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">as of 6.5 use <a href="../../../../org/apache/geode/cache/DiskStore.html" title="interface in org.apache.geode.cache"><code>DiskStore</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/DynamicRegionListener.html" title="interface in org.apache.geode.cache">DynamicRegionListener</a></td>
<td class="colLast">
<div class="block"><code>DynamicRegionListener</code> is an interface that can be implemented to handle dynamic
region-related events.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/EntryEvent.html" title="interface in org.apache.geode.cache">EntryEvent</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">Contains information about an event affecting an entry, including its identity and the the
circumstances of the event.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/EntryOperation.html" title="interface in org.apache.geode.cache">EntryOperation</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">Gemfire Context passed to <code>PartitionResolver</code> to compute the data location</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/EvictionAttributesMutator.html" title="interface in org.apache.geode.cache">EvictionAttributesMutator</a></td>
<td class="colLast">
<div class="block">The EvictionAttributesMutator allows changes to be made to a
<a href="../../../../org/apache/geode/cache/EvictionAttributes.html" title="class in org.apache.geode.cache"><code>EvictionAttributes</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/FixedPartitionResolver.html" title="interface in org.apache.geode.cache">FixedPartitionResolver</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">Implementers of interface <code>FixedPartitionResolver</code> helps to achieve explicit mapping
of a "user defined" partition to a data member node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/GemFireCache.html" title="interface in org.apache.geode.cache">GemFireCache</a></td>
<td class="colLast">
<div class="block">GemFireCache represents the singleton cache that must be created in order to use GemFire in a
Java virtual machine.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/InterestRegistrationEvent.html" title="interface in org.apache.geode.cache">InterestRegistrationEvent</a></td>
<td class="colLast">
<div class="block">Interface <code>InterestRegistrationEvent</code> encapsulated interest event information like
region and keys of interest.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/InterestRegistrationListener.html" title="interface in org.apache.geode.cache">InterestRegistrationListener</a></td>
<td class="colLast">
<div class="block">Interface <code>InterestRegisterationListener</code> provides the ability for applications to be
notified of interest registration and unregistration events.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/LoaderHelper.html" title="interface in org.apache.geode.cache">LoaderHelper</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">Provides a set of APIs to help the implementation of the <code>CacheLoader</code> load method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/PartitionAttributes.html" title="interface in org.apache.geode.cache">PartitionAttributes</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">Attributes that define the partitioned character of a Partitioned Region.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/PartitionResolver.html" title="interface in org.apache.geode.cache">PartitionResolver</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">Implementers of interface <code>PartitionResolver</code> enable custom standard partitioning on
the <code>PartitionedRegion</code>.<br>
See <code>FixedPartitionResolver</code> to enable custom fixed partitioning.<br></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/Region.html" title="interface in org.apache.geode.cache">Region</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">Manages subregions and cached data.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/Region.Entry.html" title="interface in org.apache.geode.cache">Region.Entry</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">A key-value pair containing the cached data in a region.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/RegionAttributes.html" title="interface in org.apache.geode.cache">RegionAttributes</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">Defines attributes for configuring a region.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/RegionEvent.html" title="interface in org.apache.geode.cache">RegionEvent</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">Contains information about an event affecting a region, including its identity and the
circumstances of the event.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/RegionMembershipListener.html" title="interface in org.apache.geode.cache">RegionMembershipListener</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">A listener that can be implemented to handle region membership events.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/RegionRoleListener.html" title="interface in org.apache.geode.cache">RegionRoleListener</a>&lt;K,V&gt;</td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">this feature is scheduled to be removed</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/RegionService.html" title="interface in org.apache.geode.cache">RegionService</a></td>
<td class="colLast">
<div class="block">A RegionService provides access to existing <a href="../../../../org/apache/geode/cache/Region.html" title="interface in org.apache.geode.cache"><code>regions</code></a> that exist in a
<a href="../../../../org/apache/geode/cache/GemFireCache.html" title="interface in org.apache.geode.cache"><code>GemFire cache</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/RoleEvent.html" title="interface in org.apache.geode.cache">RoleEvent</a>&lt;K,V&gt;</td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">this feature is scheduled to be removed</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/SerializedCacheValue.html" title="interface in org.apache.geode.cache">SerializedCacheValue</a>&lt;V&gt;</td>
<td class="colLast">
<div class="block">Class <code>SerializedCacheValue</code> represents a serialized cache value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/TransactionEvent.html" title="interface in org.apache.geode.cache">TransactionEvent</a></td>
<td class="colLast">
<div class="block">
An event that describes the culmination of an entire transaction.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/TransactionId.html" title="interface in org.apache.geode.cache">TransactionId</a></td>
<td class="colLast">
<div class="block">The TransactionId interface is a "marker" interface that represents a unique GemFire transaction.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/TransactionListener.html" title="interface in org.apache.geode.cache">TransactionListener</a></td>
<td class="colLast">
<div class="block">
A listener that can be implemented to handle transaction related events.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/TransactionWriter.html" title="interface in org.apache.geode.cache">TransactionWriter</a></td>
<td class="colLast">
<div class="block">A callback that is allowed to veto a transaction.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/AttributesFactory.html" title="class in org.apache.geode.cache">AttributesFactory</a>&lt;K,V&gt;</td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">as of 6.5 use <a href="../../../../org/apache/geode/cache/Cache.html#createRegionFactory-org.apache.geode.cache.RegionShortcut-"><code>Cache.createRegionFactory(RegionShortcut)</code></a> or
<a href="../../../../org/apache/geode/cache/client/ClientCache.html#createClientRegionFactory-org.apache.geode.cache.client.ClientRegionShortcut-"><code>ClientCache.createClientRegionFactory(ClientRegionShortcut)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CacheFactory.html" title="class in org.apache.geode.cache">CacheFactory</a></td>
<td class="colLast">
<div class="block">Factory class used to create the singleton <a href="../../../../org/apache/geode/cache/Cache.html" title="interface in org.apache.geode.cache"><code>cache</code></a> and connect to the GemFire
singleton <a href="../../../../org/apache/geode/distributed/DistributedSystem.html" title="class in org.apache.geode.distributed"><code>distributed system</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/DataPolicy.html" title="class in org.apache.geode.cache">DataPolicy</a></td>
<td class="colLast">
<div class="block">Enumerated type for region data policy.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/DiskWriteAttributesFactory.html" title="class in org.apache.geode.cache">DiskWriteAttributesFactory</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">as of 6.5 use <a href="../../../../org/apache/geode/cache/DiskStoreFactory.html" title="interface in org.apache.geode.cache"><code>DiskStoreFactory</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/DynamicRegionFactory.html" title="class in org.apache.geode.cache">DynamicRegionFactory</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">This class is deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/DynamicRegionFactory.Config.html" title="class in org.apache.geode.cache">DynamicRegionFactory.Config</a></td>
<td class="colLast">
<div class="block">Configuration for dynamic region factory.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/EvictionAction.html" title="class in org.apache.geode.cache">EvictionAction</a></td>
<td class="colLast">
<div class="block">The action that an <a href="../../../../org/apache/geode/cache/EvictionAlgorithm.html" title="class in org.apache.geode.cache"><code>EvictionAlgorithm</code></a> takes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/EvictionAlgorithm.html" title="class in org.apache.geode.cache">EvictionAlgorithm</a></td>
<td class="colLast">
<div class="block">The algorithm used to determine when to perform an <a href="../../../../org/apache/geode/cache/EvictionAction.html" title="class in org.apache.geode.cache"><code>EvictionAction</code></a></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/EvictionAttributes.html" title="class in org.apache.geode.cache">EvictionAttributes</a></td>
<td class="colLast">
<div class="block">
Attributes that describe how a <code>Region</code>'s size is managed through an eviction
controller.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/ExpirationAction.html" title="class in org.apache.geode.cache">ExpirationAction</a></td>
<td class="colLast">
<div class="block">Enumerated type for expiration actions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/ExpirationAttributes.html" title="class in org.apache.geode.cache">ExpirationAttributes</a></td>
<td class="colLast">
<div class="block">Immutable parameter object for accessing and setting the attributes associated with
<code>timeToLive</code> and <code>idleTimeout</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/FixedPartitionAttributes.html" title="class in org.apache.geode.cache">FixedPartitionAttributes</a></td>
<td class="colLast">
<div class="block">Composite date type used to distribute the attributes for a fixed partition.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/InterestPolicy.html" title="class in org.apache.geode.cache">InterestPolicy</a></td>
<td class="colLast">
<div class="block">Enumerated type for region subscription interest policy.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/InterestResultPolicy.html" title="class in org.apache.geode.cache">InterestResultPolicy</a></td>
<td class="colLast">
<div class="block">Class <code>InterestResultPolicy</code> is an enumerated type for a register interest result.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/LossAction.html" title="class in org.apache.geode.cache">LossAction</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">this feature is scheduled to be removed</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/MembershipAttributes.html" title="class in org.apache.geode.cache">MembershipAttributes</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">this feature is scheduled to be removed</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/MirrorType.html" title="class in org.apache.geode.cache">MirrorType</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">as of GemFire 5.0, use <a href="../../../../org/apache/geode/cache/DataPolicy.html" title="class in org.apache.geode.cache"><code>DataPolicy</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/Operation.html" title="class in org.apache.geode.cache">Operation</a></td>
<td class="colLast">
<div class="block">Enumerated type for an event operation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/PartitionAttributesFactory.html" title="class in org.apache.geode.cache">PartitionAttributesFactory</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">
A factory that creates instances of <a href="../../../../org/apache/geode/cache/PartitionAttributes.html" title="interface in org.apache.geode.cache"><code>PartitionAttributes</code></a> which are used to create a
partitioned <a href="../../../../org/apache/geode/cache/Region.html" title="interface in org.apache.geode.cache"><code>Region</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/RegionFactory.html" title="class in org.apache.geode.cache">RegionFactory</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block"><code>RegionFactory</code> is used to create <a href="../../../../org/apache/geode/cache/Region.html" title="interface in org.apache.geode.cache"><code>regions</code></a> in a <a href="../../../../org/apache/geode/cache/Cache.html" title="interface in org.apache.geode.cache"><code>cache</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/RequiredRoles.html" title="class in org.apache.geode.cache">RequiredRoles</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">this feature is scheduled to be removed</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/ResumptionAction.html" title="class in org.apache.geode.cache">ResumptionAction</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">this API is scheduled to be removed</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/Scope.html" title="class in org.apache.geode.cache">Scope</a></td>
<td class="colLast">
<div class="block">Enumerated type for region distribution scope.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/SubscriptionAttributes.html" title="class in org.apache.geode.cache">SubscriptionAttributes</a></td>
<td class="colLast">
<div class="block">Configuration attributes for defining subscriber requirements and behavior for a
<code>Region</code>.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/RegionShortcut.html" title="enum in org.apache.geode.cache">RegionShortcut</a></td>
<td class="colLast">
<div class="block">Each enum represents a predefined <code>RegionAttributes</code> in a <code>Cache</code>.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Exception Summary table, listing exceptions, and an explanation">
<caption><span>Exception Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Exception</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CacheClosedException.html" title="class in org.apache.geode.cache">CacheClosedException</a></td>
<td class="colLast">
<div class="block">Indicates that the caching system has been closed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CacheException.html" title="class in org.apache.geode.cache">CacheException</a></td>
<td class="colLast">
<div class="block">A generic exception, which indicates a cache error has occurred.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CacheExistsException.html" title="class in org.apache.geode.cache">CacheExistsException</a></td>
<td class="colLast">
<div class="block">Thrown when attempting to create a <a href="../../../../org/apache/geode/cache/Cache.html" title="interface in org.apache.geode.cache"><code>Cache</code></a> if one already exists.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CacheLoaderException.html" title="class in org.apache.geode.cache">CacheLoaderException</a></td>
<td class="colLast">
<div class="block">Thrown from the <a href="../../../../org/apache/geode/cache/CacheLoader.html#load-org.apache.geode.cache.LoaderHelper-"><code>CacheLoader.load(org.apache.geode.cache.LoaderHelper&lt;K, V&gt;)</code></a> method indicating that an error occurred when a
CacheLoader was attempting to load a value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CacheRuntimeException.html" title="class in org.apache.geode.cache">CacheRuntimeException</a></td>
<td class="colLast">
<div class="block">A generic runtime exception that indicates a cache error has occurred.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CacheWriterException.html" title="class in org.apache.geode.cache">CacheWriterException</a></td>
<td class="colLast">
<div class="block">An exception thrown by a <code>CacheWriter</code> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CacheXmlException.html" title="class in org.apache.geode.cache">CacheXmlException</a></td>
<td class="colLast">
<div class="block">Thrown when a problem is encountered while parsing a
<A href="package-summary.html#declarative">declarative caching XML file</A>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CommitConflictException.html" title="class in org.apache.geode.cache">CommitConflictException</a></td>
<td class="colLast">
<div class="block">Thrown when a commit fails due to a write conflict.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CommitDistributionException.html" title="class in org.apache.geode.cache">CommitDistributionException</a></td>
<td class="colLast">
<div class="block">Indicates that an attempt to notify required participants of a transaction involving one or more
regions that are configured with <a href="../../../../org/apache/geode/cache/MembershipAttributes.html" title="class in org.apache.geode.cache"><code>MembershipAttributes</code></a> may have failed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/CommitIncompleteException.html" title="class in org.apache.geode.cache">CommitIncompleteException</a></td>
<td class="colLast">
<div class="block">Thrown when a commit fails to complete due to errors</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/DiskAccessException.html" title="class in org.apache.geode.cache">DiskAccessException</a></td>
<td class="colLast">
<div class="block">Indicates that an <code>IOException</code> during a disk region operation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/DuplicatePrimaryPartitionException.html" title="class in org.apache.geode.cache">DuplicatePrimaryPartitionException</a></td>
<td class="colLast">
<div class="block">This exception is thrown when two nodes are defined with same primary partitions</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/EntryDestroyedException.html" title="class in org.apache.geode.cache">EntryDestroyedException</a></td>
<td class="colLast">
<div class="block">Indicates that a method was invoked on an entry that has been destroyed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/EntryExistsException.html" title="class in org.apache.geode.cache">EntryExistsException</a></td>
<td class="colLast">
<div class="block">Thrown when attempting to create a <code>Region.Entry</code> that already exists in the
<code>Region</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/EntryNotFoundException.html" title="class in org.apache.geode.cache">EntryNotFoundException</a></td>
<td class="colLast">
<div class="block">Thrown when an operation is invoked on <code>Region</code> for an entry that doesn't exist in the
<code>Region</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/FailedSynchronizationException.html" title="class in org.apache.geode.cache">FailedSynchronizationException</a></td>
<td class="colLast">
<div class="block">Thrown when a cache transaction fails to register with the <code>UserTransaction</code> (aka JTA
transaction), most likely the cause of the <code>UserTransaction</code>'s
<code>javax.transaction.Status#STATUS_MARKED_ROLLBACK</code> status.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/GatewayConfigurationException.html" title="class in org.apache.geode.cache">GatewayConfigurationException</a></td>
<td class="colLast">
<div class="block">An exception indicating that a gateway configuration will not work with the remote side of the
gateway's configuration.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/GatewayException.html" title="class in org.apache.geode.cache">GatewayException</a></td>
<td class="colLast">
<div class="block">An exception thrown by a <code>Gateway</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/IncompatibleVersionException.html" title="class in org.apache.geode.cache">IncompatibleVersionException</a></td>
<td class="colLast">
<div class="block">An <code>IncompatibleVersionException</code> that the client version was not compatible with the
server version.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/LowMemoryException.html" title="class in org.apache.geode.cache">LowMemoryException</a></td>
<td class="colLast">
<div class="block">Indicates a low memory condition either on the local or a remote <a href="../../../../org/apache/geode/cache/Cache.html" title="interface in org.apache.geode.cache"><code>Cache</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/NoQueueServersAvailableException.html" title="class in org.apache.geode.cache">NoQueueServersAvailableException</a></td>
<td class="colLast">
<div class="block">Indicates that this client cannot contact any queue servers and therefore cannot perform
operations that require a queue, such as registering interest.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/NoSubscriptionServersAvailableException.html" title="class in org.apache.geode.cache">NoSubscriptionServersAvailableException</a></td>
<td class="colLast">
<div class="block">Indicates that this client cannot contact any servers and therefore cannot perform operations
that require subscriptions, such as registering interest.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/OperationAbortedException.html" title="class in org.apache.geode.cache">OperationAbortedException</a></td>
<td class="colLast">
<div class="block">Indicates that the operation that would have otherwise affected the cache has been aborted.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/PartitionedRegionDistributionException.html" title="class in org.apache.geode.cache">PartitionedRegionDistributionException</a></td>
<td class="colLast">
<div class="block">Indicates a failure to perform a distributed operation on a Partitioned Region after multiple
attempts.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/PartitionedRegionStorageException.html" title="class in org.apache.geode.cache">PartitionedRegionStorageException</a></td>
<td class="colLast">
<div class="block">Description of the conditions under which this exception is thrown</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/RegionAccessException.html" title="class in org.apache.geode.cache">RegionAccessException</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">the MembershipAttributes API is scheduled to be removed</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/RegionDestroyedException.html" title="class in org.apache.geode.cache">RegionDestroyedException</a></td>
<td class="colLast">
<div class="block">Indicates that the region has been destroyed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/RegionDistributionException.html" title="class in org.apache.geode.cache">RegionDistributionException</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">the MembershipAttributes API is scheduled to be removed</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/RegionExistsException.html" title="class in org.apache.geode.cache">RegionExistsException</a></td>
<td class="colLast">
<div class="block">Indicates that the requested region already exists when a region is being created.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/RegionReinitializedException.html" title="class in org.apache.geode.cache">RegionReinitializedException</a></td>
<td class="colLast">
<div class="block">Indicates that the region has been reinitialized.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/RegionRoleException.html" title="class in org.apache.geode.cache">RegionRoleException</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">this feature is scheduled to be removed</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/ResourceException.html" title="class in org.apache.geode.cache">ResourceException</a></td>
<td class="colLast">
<div class="block">A Generic exception to indicate that a resource exception has occurred.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/RoleException.html" title="class in org.apache.geode.cache">RoleException</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">this feature is scheduled to be removed</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/StatisticsDisabledException.html" title="class in org.apache.geode.cache">StatisticsDisabledException</a></td>
<td class="colLast">
<div class="block">Thrown if statistics are requested when statistics are disabled on the region.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/SynchronizationCommitConflictException.html" title="class in org.apache.geode.cache">SynchronizationCommitConflictException</a></td>
<td class="colLast">
<div class="block">Thrown when a commit operation of a JTA enlisted cache transaction fails</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/TimeoutException.html" title="class in org.apache.geode.cache">TimeoutException</a></td>
<td class="colLast">
<div class="block">Thrown if a <code>netSearch</code> times out without getting a response back from a cache, or
when attempting to acquire a distributed lock.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/TransactionDataNodeHasDepartedException.html" title="class in org.apache.geode.cache">TransactionDataNodeHasDepartedException</a></td>
<td class="colLast">
<div class="block">Thrown when the transactional data host has shutdown or no longer has the data being modified by
the transaction.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/TransactionDataNotColocatedException.html" title="class in org.apache.geode.cache">TransactionDataNotColocatedException</a></td>
<td class="colLast">
<div class="block">Indicates that an attempt was made to transactionally modify multiple keys that are not colocated
on the same data host.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/TransactionDataRebalancedException.html" title="class in org.apache.geode.cache">TransactionDataRebalancedException</a></td>
<td class="colLast">
<div class="block">Thrown when a <a href="../../../../org/apache/geode/cache/control/RebalanceOperation.html" title="interface in org.apache.geode.cache.control"><code>RebalanceOperation</code></a> occurs concurrently with a transaction.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/TransactionException.html" title="class in org.apache.geode.cache">TransactionException</a></td>
<td class="colLast">
<div class="block">This is the superclass for all Exceptions that may be thrown by a GemFire transaction.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/TransactionInDoubtException.html" title="class in org.apache.geode.cache">TransactionInDoubtException</a></td>
<td class="colLast">
<div class="block">This Exception is thrown in presence of node failures, when GemFire cannot know with certainty
about the outcome of the transaction.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/TransactionWriterException.html" title="class in org.apache.geode.cache">TransactionWriterException</a></td>
<td class="colLast">
<div class="block">Exception thrown by implementors of <a href="../../../../org/apache/geode/cache/TransactionWriter.html#beforeCommit-org.apache.geode.cache.TransactionEvent-"><code>TransactionWriter.beforeCommit(org.apache.geode.cache.TransactionEvent)</code></a> to signal that the
current transaction should be aborted.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/UnsupportedOperationInTransactionException.html" title="class in org.apache.geode.cache">UnsupportedOperationInTransactionException</a></td>
<td class="colLast">
<div class="block">Indicates that an attempt was mode to invoke an operation that is not allowed in a transaction.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/UnsupportedVersionException.html" title="class in org.apache.geode.cache">UnsupportedVersionException</a></td>
<td class="colLast">
<div class="block">An <code>UnsupportedVersionException</code> indicates an unsupported version.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/geode/cache/VersionException.html" title="class in org.apache.geode.cache">VersionException</a></td>
<td class="colLast">
<div class="block">An <code>VersionException</code> is an exception that indicates a client / server version
mismatch exception has occurred.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!-- -->
</a>
<h2 title="Package org.apache.geode.cache Description">Package org.apache.geode.cache Description</h2>
<div class="block"><p>Provides an implementation of distributed object caching that
can leverage GemFire's distribution capabilities. Refer to
the programmer's guide for performance guidelines.</p>
<a name="top">
<ul>
<li><a href="#functions">Function Execution</a></li>
<li><a href="#distcache">Distributed Caching</a></li>
<li><a href="#regions">Cache Regions</a></li>
<li><a href="#partition">Partitioned Regions</a></li>
<li><a href="#entries">Region Entries</a></li>
<li><a href="#consistency">Distribution and Consistency Models</a></li>
<li><a href="#storage">Storage Model</a></li>
<li><a href="#loader">Cache Loaders</a></li>
<li><a href="#cachewriter">Cache Writers</a></li>
<li><a href="#expiration">Expiration</a></li>
<li><a href="#event">Cache Events</a></li>
<li><a href="#eviction">Eviction Attributes</a></li>
<li><a href="#statistics">Statistics</a></li>
<li><a href="#declarative">Declarative Caching</a></li>
<li><a href="#clientServer">Client/Server Caching</a></li>
<li><a href="#tx">Cache Transactions</a></li>
<li><a href="#membership">Membership Attributes</a></li>
</ul>
<a name="functions"><h2>Function Execution</h2><a href="#top">Back to
Top</a>
<p>Function execution facilitates movement of behavior in the form of
<a href="../../../../org/apache/geode/cache/execute/Function.html" title="interface in org.apache.geode.cache.execute">Function</a>s executed using the
<a href="../../../../org/apache/geode/cache/execute/FunctionService.html" title="class in org.apache.geode.cache.execute">Function Execution Service</a>. A Function may generate results from
parallel execution on many <a href="../../../../org/apache/geode/cache/execute/FunctionService.html#onMembers-java.lang.String...-">members</a>
, or several <a href="../../../../org/apache/geode/cache/execute/FunctionService.html#onServers-org.apache.geode.cache.client.Pool-">Cache Servers</a>, or perhaps evaluating <a href="../../../../org/apache/geode/cache/execute/FunctionService.html#onRegion-org.apache.geode.cache.Region-"><code>Region</code></a> data. A <a href="../../../../org/apache/geode/cache/execute/ResultCollector.html" title="interface in org.apache.geode.cache.execute">ResultCollector</a> collects and
possibly processes those results for consumption. For more information look to the
<a href="../../../../org/apache/geode/cache/execute/package-summary.html#package_description">org.apache.geode.cache.execute</a> package.
</p>
<a name="distcache"><h2>Distributed Caching</h2><a href="#top">Back to Top</a>
<!-- Architecture diagram that shows multiple VMs in the same
distributed system -->
<p>GemFire's distributed caching implementation allows application data to be
efficiently shared among multiple threads in a VM, multiple VMs
running on the same physical machine, and multiple VMs running on
multiple machines. Cached data resides in "regions" whose
contents are stored in a VM's heap.</p>
<p>The <a href="../../../../org/apache/geode/cache/CacheFactory.html" title="class in org.apache.geode.cache"><code>CacheFactory</code></a> class provides
the entry point to the caching API. A <code>CacheFactory</code> is
configured to create a <a href="../../../../org/apache/geode/cache/Cache.html" title="interface in org.apache.geode.cache">"cache instance"</a> that resides in the VM. The cache factory also allows
the <a href="../../../../org/apache/geode/distributed/DistributedSystem.html" title="class in org.apache.geode.distributed"><code>DistributedSystem</code></a> to be configured.</p>
<a name="regions"><h2>Cache Regions</h2></a><a href="#top">Back to Top</a>
<p>Application data is cached in a <a href="../../../../org/apache/geode/cache/Region.html" title="interface in org.apache.geode.cache">"region"</a>. The <a href="../../../../org/apache/geode/cache/RegionFactory.html" title="class in org.apache.geode.cache"><code>RegionFactory</code></a> class provides the simpliest
entry point into the <a href="../../../../org/apache/geode/cache/Region.html" title="interface in org.apache.geode.cache">Region</a>
API. A <a href="../../../../org/apache/geode/cache/Region.html" title="interface in org.apache.geode.cache"><code>Region</code></a> implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><code>Map</code></a>,
however, it also provides caching behavior such as data loading,
eviction control, and distribution. Every region has a name and
regions may be nested to provide a cache-naming hierarchy ("parent
regions" with "subregions"). The root regions of the naming hierarchy
(that is, the regions with no parent) are obtained with the <a href="../../../../org/apache/geode/cache/RegionService.html#rootRegions--"><code>RegionService.rootRegions()</code></a> method.
Any region may be obtained with the <a href="../../../../org/apache/geode/cache/RegionService.html#getRegion-java.lang.String-"><code>RegionService.getRegion(java.lang.String)</code></a> method.</p>
<p>Region properties such as the region's cache loader, data policy, and
storage model are specified by an instance of <a href="../../../../org/apache/geode/cache/RegionAttributes.html" title="interface in org.apache.geode.cache"><code>RegionAttributes</code></a>. A region
<code>RegionAttributes</code> object can be specified when <a href="../../../../org/apache/geode/cache/Region.html#createSubregion-java.lang.String-org.apache.geode.cache.RegionAttributes-">creating</a> a
region.</p>
<a name="partition"><h2>Partitioned Regions</h2><a href="#top">Back to Top</a>
<p>Region data can be partitioned across many distributed system members to create one large logical heap.
The data policy must be set to <a href="../../../../org/apache/geode/cache/DataPolicy.html#PARTITION"><code>DataPolicy.PARTITION</code></a>
or <a href="../../../../org/apache/geode/cache/DataPolicy.html#PERSISTENT_PARTITION"><code>DataPolicy.PERSISTENT_PARTITION</code></a>.
<a href="../../../../org/apache/geode/cache/PartitionAttributes.html" title="interface in org.apache.geode.cache"><code>PartitionAttributes</code></a> are used to configure
a partitioned region. A partitioned region can be configured to be
highly available, surviving the loss of one or more system members, by
maintaining copies of data. These extra copies also benefit read operations by
allowing load balancing across all the copies.</p>
<p>Partitioned Regions have the added feature of allowing storage
sizes larger than a single Java VM can provide and with multiple
Java VMs comes multiple garbage collectors, improving the performance of
the entire Region in the face of a full garbage collection cycle.</p>
</p>
<p>Partitioned Regions support custom partitioning with the use of a
<a href="../../../../org/apache/geode/cache/PartitionResolver.html" title="interface in org.apache.geode.cache"><code>PartitionResolver</code></a> and can be
associated together or
<a href="../../../../org/apache/geode/cache/PartitionAttributesFactory.html#setColocatedWith-java.lang.String-">colocated</a> to allow for efficient data usage.
</p>
<p>A <a href="../../../../org/apache/geode/cache/partition/PartitionRegionHelper.html" title="class in org.apache.geode.cache.partition"><code>PartitionRegionHelper</code></a>
class provides methods to facilitate usage of Partitioned
Regions with other features, for example when used in conjunction with <a
href="#functions">function execution</a>.
</p>
<a name="entries"><h2>Region Entries</h2><a href="#top">Back to Top</a>
<!-- Life cycle, constrained keys -->
<p>A region contains key/value pairs of objects known as the region's
<a href="../../../../org/apache/geode/cache/Region.Entry.html" title="interface in org.apache.geode.cache">"entries"</a>. The
<code>Region</code> class provides a number of methods for
manipulating the region's entries such as <a href="../../../../org/apache/geode/cache/Region.html#create-K-V-"><code>create</code></a>, <a href="../../../../org/apache/geode/cache/Region.html#put-K-V-"><code>put</code></a>, <a href="../../../../org/apache/geode/cache/Region.html#invalidate-java.lang.Object-"><code>invalidate</code></a>, and <a href="../../../../org/apache/geode/cache/Region.html#destroy-java.lang.Object-"><code>destroy</code></a> . The following
diagram describes the life cycle of a region entry.</p>
<CENTER>
<IMG SRC="../../../../javadoc-images/entry-life-cycle.gif"
WIDTH="598" HEIGHT="224"/>
</CENTER>
<a name="consistency"><h2>Distribution and Consistency Models</h2><a href="#top">Back to Top</a>
<p>A region's <a href="../../../../org/apache/geode/cache/RegionAttributes.html#getScope--">scope</a> attribute
determines how the region's entries will be distributed to other
caches. A region with <a href="../../../../org/apache/geode/cache/Scope.html#LOCAL">local</a> scope
will not distribute any of its changes to any other members of the
distributed system, nor will it receive changes when another cache
instance is updated.</p>
<p>When a change (such as a <code>put</code> or
<code>invalidate</code>) is made to a region with non-local scope,
that change is distributed to the other members of the distributed
system that have created that region in their cache instance. There
are three kinds of distributed scope, each of which guarantees a
different level of consistency for distributed data. <a href="../../../../org/apache/geode/cache/Scope.html#GLOBAL">"Global"
scope</a> provides the highest level of data consistency by obtaining a
<a href="../../../../org/apache/geode/distributed/DistributedLockService.html" title="class in org.apache.geode.distributed">distributed lock</a> on a region entry before propagating a change to other
members of the distributed system. With globally-scoped regions, only
one thread in the entire distributed system may modify the region entry at a
time.</p>
<p><a href="../../../../org/apache/geode/cache/Scope.html#DISTRIBUTED_ACK">"Distributed ACK" scope</a> provides slightly weaker data consistency
than global scope. With distributed ACK scope, the method that
modifies the region (such as a call to <a href="../../../../org/apache/geode/cache/Region.html#destroy-java.lang.Object-"><code>Region.destroy(java.lang.Object)</code></a>) will not return until an
acknowledgment of the change has been received from every member of
the distributed system. Multiple threads may modify the region
concurrently, but the modifying thread may proceed knowing that its
change to the region has been seen by all other members.</p>
<p><a href="../../../../org/apache/geode/cache/Scope.html#DISTRIBUTED_NO_ACK">"Distributed NO ACK" scope</a> provides the weakest data consistency of
all the scopes, but also provides the best performance. A method invocation that
modifies a region with distributed NO ACK scope will return
immediately after it has updated the contents of the region in its own
cache instance. The updates are distributed
asynchronously.</p>
<a name="storage"><h2>Storage Model</h2><a href="#top">Back to Top</a>
<p>The contents of a region (that is, the region's key/value pairs)
may be stored in either the JVM's heap or on a disk drive.
</p>
<a name="dataPolicy"><h3>Data Policy</h3></a><a href="#top">Back to Top</a>
<p>A region's <a href="../../../../org/apache/geode/cache/DataPolicy.html" title="class in org.apache.geode.cache">"data policy" attribute</a> determines if data is stored in the local cache.
The <a href="../../../../org/apache/geode/cache/DataPolicy.html#NORMAL">normal policy</a>
will store region data in the local cache.
The <a href="../../../../org/apache/geode/cache/DataPolicy.html#EMPTY">empty policy</a>
will never store region data in the local cache. They act as proxy regions that
distribute write operations to others and receive events from others.
The <a href="../../../../org/apache/geode/cache/DataPolicy.html#withReplication--">replication policies</a>
may reduce the number of net searches that a caching application has to be perform,
and can provide a backup mechanism. The replicated region initializes itself when
it is created with the keys and value of the region as found in other caches.
The <a href="../../../../org/apache/geode/cache/DataPolicy.html#REPLICATE">replicate policy</a> simply stores the relicate data in memory and
the <a href="../../../../org/apache/geode/cache/DataPolicy.html#PERSISTENT_REPLICATE">persistent replicate policy</a> stores the data in memory and disk.
The <a href="../../../../org/apache/geode/cache/DataPolicy.html#withPartitioning--">partition policies</a> are used for <a href="#partition">partitioned</a> regions.
The <a href="../../../../org/apache/geode/cache/DataPolicy.html#PARTITION">partition policy</a> simply stores the <a href="#partition">partitioned</a> data in memory and
the <a href="../../../../org/apache/geode/cache/DataPolicy.html#PERSISTENT_PARTITION">persistent partition policy</a> stores the <a href="#partition">partitioned</a> data in memory and disk.
</p>
<a name="storageOnDisk"><h3>Disk Storage</h3></a>
<p>GemFire supports several modes of region persistence as determined by
the <a href="../../../../org/apache/geode/cache/DataPolicy.html#withPersistence--">persistent data policies</a> and the <a href="../../../../org/apache/geode/cache/RegionAttributes.html#getEvictionAttributes--"><code>RegionAttributes.getEvictionAttributes()</code></a>'s <a href="../../../../org/apache/geode/cache/EvictionAction.html" title="class in org.apache.geode.cache">eviction action</a>
of <a href="../../../../org/apache/geode/cache/EvictionAction.html#OVERFLOW_TO_DISK">overflow-to-disk</a>.
The following table summarizes the different modes and their configuration.</p>
<table border="1">
<th>persistence</th>
<th>overflow-to-disk</th>
<th>mode</th>
<th>description</th>
<tr>
<td>false</td>
<td>false</td>
<td>No Disk</td>
<td>The cache <code>Region</code> persists no data to the disk.
This is the default configuration.</td>
</tr>
<tr>
<td>false</td>
<td>true</td>
<td>Disk for overflow only</td>
<td>Once the amount of data stored in the region exceeds the eviction
controller's threshold, least recently used data is written to
disk and removed from the VM until the region's size is below the
threshold.</td>
</tr>
<tr>
<td>true</td>
<td>false</td>
<td>Disk for persistence</td>
<td>All data in the region is <a href="../../../../org/apache/geode/cache/DiskStore.html" title="interface in org.apache.geode.cache">scheduled to be
written</a> to disk as soon as it is placed in the region. Thus,
the data on disk contains a complete backup of the region. No
information about recently used data is maintained and,
therefore, the size of the VM will continue to grow as more data
is added to the region. "Disk for persistence" mode is
appropriate for situations in which the user wants to back up a
region whose data fits completely in the VM.</td>
</tr>
<tr>
<td>true</td>
<td>true</td>
<td>Disk for overflow and persistence</td>
<td>All data in the region is <a href="../../../../org/apache/geode/cache/DiskStore.html" title="interface in org.apache.geode.cache">scheduled to be
written</a> to disk as soon as it is placed in the region. But
unlike "disk for persistence" mode, the least recently used data will
be removed from the VM once the eviction controller's
threshold is reached.</td>
</tr>
</table>
<p>There are several things to keep in mind when working with regions
that store data on disk.</p>
<UL>
<LI>Operations (such as <a href="../../../../org/apache/geode/cache/Region.html#invalidate-java.lang.Object-"><code>invalidate</code></a> and <a href="../../../../org/apache/geode/cache/Region.html#destroy-java.lang.Object-"><code>Region.destroy(java.lang.Object)</code></a>) that remove data from the
cache also remove data from disk. In order for data to be removed
from the VM and not from disk, <a href="../../../../org/apache/geode/cache/EvictionAction.html#OVERFLOW_TO_DISK">EvictionAction.OVERFLOW_TO_DISK</a>
overflow} must be used.</LI>
<LI>When disk overflow is enabled, only the <a href="../../../../org/apache/geode/cache/Region.Entry.html#getValue--">value</a> of the least
recently used entry is removed from the VM. That is, the entry's key
and the entry itself remain in the VM.</LI>
<LI>When disk overflow is enabled, and backup is not then in each
disk directory files whose name start with <code>OVERFLOW_</code>
will be created. These files are deleted automatically when they
are no longer being used. If a VM crashes it may not clean up its
overflow files. In that case they will be cleaned up the next time
the same region is created.</LI>
<LI>GemFire will look for the value of a region entry on disk before
it will look in other cache instances. That is, it will not perform a
net search or a <a href="../../../../org/apache/geode/cache/CacheLoader.html#load-org.apache.geode.cache.LoaderHelper-">load</a> if the value exists
on disk.</LI>
<LI>When data is read from or written to disk, no <a href="../../../../org/apache/geode/cache/CacheEvent.html" title="interface in org.apache.geode.cache">cache events</a> are fired.</LI>
<LI>Region operations such as <a href="../../../../org/apache/geode/cache/Region.html#destroy-java.lang.Object-">destroy</a> and <a href="../../../../org/apache/geode/cache/Region.html#invalidate-java.lang.Object-">invalidate</a> effect the
data that is stored on disk in addition to the data stored in the VM.
That is, if an entry is destroyed in the VM (even by an <a href="../../../../org/apache/geode/cache/ExpirationAction.html" title="class in org.apache.geode.cache"><code>ExpirationAction</code></a>), it will also be destroyed on disk.</LI>
</UL>
<h3>Region backup and restore</h3>
Any GemFire resource that stores data on disk does so by configuring itself
to use a <a href="../../../../org/apache/geode/cache/DiskStore.html" title="interface in org.apache.geode.cache"><code>disk store</code></a>.
Disk stores are created using the
<a href="../../../../org/apache/geode/cache/DiskStoreFactory.html" title="interface in org.apache.geode.cache"><code>disk store factory API</code></a> or by
configuring them in XML using the "disk-store" element.
Region's specify the disk store they are in by setting the
<a href="../../../../org/apache/geode/cache/RegionAttributes.html#getDiskStoreName--"><code>disk store name region attribute</code></a>.
<P>A <a href="../../../../org/apache/geode/cache/Region.html#put-K-V-">put</a> on a region
that is configured to have a disk "backup" (by using a
<a href="../../../../org/apache/geode/cache/DataPolicy.html#withPersistence--">persistent data policy</a>)
will result in the immediate scheduling of a
disk write according to the region's <a href="../../../../org/apache/geode/cache/DiskStore.html" title="interface in org.apache.geode.cache"><code>disk store</code></a>
and the <a href="../../../../org/apache/geode/cache/RegionAttributes.html#isDiskSynchronous--">disk synchronous region attribute</a>.</P>
<P>The actual backup data is stored in each of the disk store's specified disk
directories. If any one of these directories runs out of space then
any further writes to the backed up region will fail with a
DiskAccessException. The actual file names begin with <code>BACKUP_</code>.
If you wish to store a backup in another location
or offline, then all of these files need to be saved. All of the files
in the same directory must always be kept together in the same directory.
It is ok to change the directory name.
<P>When a region with a disk backup is created, it initializes itself
with a "bulk load" operation that reads region entry data from its
disk files. Note that the bulk load operation does not create cache
events and it does not send update messages to other members of the
distributed system. Bulk loading reads both the key and value
of each region entry into memory.
If region also has overflow-to-disk enabled then it will only load values
until the LRU limit is reached.
If the system property "gemfire.disk.recoverValues"
is set to "false" then the entry values will
not be loaded into memory during the bulk load
but will be lazily read into the VM as they are requested.</P>
<P>A common high-availability scenario may involve replicated regions
that are configured to have disk backups. When a replicated backup
region is created in a distributed system that already contains a
replicated backup region, GemFire optimizes the initialization of the
backup region by streaming the contents of the backup file to the
region being initialized. If there is no other replicated backup region
in the distributed system, the backup file for the region being
initialized may contain stale data. (That is, the value of region
entries may have changed while the backup VM was down.) In this
situation, the region being initialized will consult other VMs in the
distributed system to obtain an up-to-date version of the cached
data.</P>
<a name="loader"><h2>Cache Loaders</h2></a><a href="#top">Back to Top</a>
<!-- CacheLoader, netSearch, netLoad -->
<p>A <a href="../../../../org/apache/geode/cache/CacheLoader.html" title="interface in org.apache.geode.cache">cache loader</a>
allows data from outside of the VM to be placed into a region. When
<a href="../../../../org/apache/geode/cache/Region.html#get-java.lang.Object-"><code>Region.get(java.lang.Object)</code></a> is called for a region
entry that has a <code>null</code> value, the <a href="../../../../org/apache/geode/cache/CacheLoader.html#load-org.apache.geode.cache.LoaderHelper-"><code>load</code></a> method of the
region's cache loader is invoked. The <code>load</code> method
creates the value for the desired key by performing an operation such
as a database query. The <code>load</code> may also perform a
<a href="../../../../org/apache/geode/cache/LoaderHelper.html#netSearch-boolean-">net
search</a> that will look for the value in a cache instance hosted by
another member of the distributed system.</p>
<p>If a region was not created with a user-specified cache loader, the
<code>get</code> operation will, by default, perform a special
variation of net search: if the value cannot be found in any of the
members of the distributed system, but one of those members has
defined a cache loader for the region, then that remote cache loader
will be invoked (a "net load") and the loaded value returned to the
requester. Note that a net load does not store the loaded value in
the remote cache's region.</p>
<a name="cachewriter"><h2>Cache Writers</h2><a href="#top">Back to Top</a>
<p>The <a href="../../../../org/apache/geode/cache/CacheWriter.html" title="interface in org.apache.geode.cache"><code>CacheWriter</code></a> is a type of event handler
that is invoked <em>synchronously before</em> the cache is modified, and has
the ability to abort the operation. Only one CacheWriter in the distributed system
is invoked before the operation that would modify a cache. A CacheWriter
is typically used to update an external database.</p>
<a name="expiration"><h2>Expiration</h2></a><a href="#top">Back to Top</a>
<p>Sometimes cached data has a limited lifetime. The region attributes
<a href="../../../../org/apache/geode/cache/RegionAttributes.html#getRegionTimeToLive--">regionTimeToLive</a>, <a href="../../../../org/apache/geode/cache/RegionAttributes.html#getRegionIdleTimeout--">regionIdleTimeout</a>, <a href="../../../../org/apache/geode/cache/RegionAttributes.html#getEntryTimeToLive--">entryTimeToLive</a>, and <a href="../../../../org/apache/geode/cache/RegionAttributes.html#getEntryIdleTimeout--">entryIdleTimeout</a>, specify how data is handled when it becomes too
old. There are two conditions under which cache data is considered
too old: data has resided unchanged in a region for a given amount of time
("time to
live") and data has not been accessed for a given amount of time
("idle
time"). GemFire's caching implementation launches an "expiration
thread" that periodically monitors region entries and will expire
those that have become too old. When a region entry expires, it can
either be <a href="../../../../org/apache/geode/cache/ExpirationAction.html#INVALIDATE">invalidated</a>, <a href="../../../../org/apache/geode/cache/ExpirationAction.html#DESTROY">destroyed</a>, <a href="../../../../org/apache/geode/cache/ExpirationAction.html#LOCAL_INVALIDATE">locally
invalidated</a>, or <a href="../../../../org/apache/geode/cache/ExpirationAction.html#LOCAL_DESTROY">locally destroyed</a>.</p>
<a name="event"><h2>Cache Events</h2></a><a href="#top">Back to Top</a>
<p>The <a href="../../../../org/apache/geode/cache/CacheListener.html" title="interface in org.apache.geode.cache"><code>CacheListener</code></a>
interface provides callback methods that are invoked synchronously in
response to certain operations (such as a <code>put</code> or
<code>invalidate</code>) being performed on a region. The event
listener for a region is specified with the <a href="../../../../org/apache/geode/cache/AttributesFactory.html#setCacheListener-org.apache.geode.cache.CacheListener-"><code>setCacheListener</code></a> method. Each callback method on the
<code>CacheListener</code> receives a <a href="../../../../org/apache/geode/cache/CacheEvent.html" title="interface in org.apache.geode.cache"><code>CacheEvent</code></a> describing the operation
that caused the callback to be invoked and possibly containing information
relevant to the operation
(such as the old and new values of a region entry).</p>
<a name="eviction"><h2>Eviction Attributes</h2><a href="#top">Back to Top</a>
<p>Before a new entry is created in a region, the region's eviction controller
is consulted. The eviction controller may perform some action on the region (usually an
action that makes the region smaller) based on certain criteria. For
instance, an eviction controller could keep track of the sizes of the
entry values. Before a new entry is added, the eviction controller
could remove the entry with the largest value to free up space in
the cache instance for new data. GemFire provides <a href="../../../../org/apache/geode/cache/EvictionAttributes.html" title="class in org.apache.geode.cache"><code>EvictionAttributes</code></a> that will create an eviction controller
that destroys the "least recently used" Region Entry once the Region
exceeds a given number of entries.</p>
<a name="statistics"><h2>Statistics</h2><a href="#top">Back to Top</a>
<!-- API statistics and VSD statistics -->
<p>The <a href="../../../../org/apache/geode/cache/CacheStatistics.html" title="interface in org.apache.geode.cache"><code>CacheStatistics</code></a> class
provides statistics information about the usage of a region or entry.
Statistics are often used by eviction controllers to determine which
entries should be invalidated or destroyed when the region reaches its
maximum size.</p>
<a name="declarative"><h2>Declarative Caching</h2><a href="#top">Back to Top</a>
<p>A "caching XML file" declares regions, entries, and attributes. When
a <code>Cache</code> is created its contents can be initialized
according to a caching XML file.
The top level element must be a cache element.
</p>
<p>The Document Type Definition for a declarative cache XML file can
be found in <code>"doc-files/cache6_5.dtd"</code>. For examples of
declarative cache XML files see <A
href="../../../../javadoc-images/example-cache.xml">example1</A>, <A
href="../../../../javadoc-images/example2-cache.xml">example2</A>, and <A
href="../../../../javadoc-images/example3-cache.xml">example3</A>.
<a name="clientServer"><h2>Client/Server Caching</h2><a href="#top">Back to Top</a>
<p>GemFire caches can be configured in a client/server hierarchy.
In this configuration, GemFire cache regions are configured as
clients to regions in GemFire server caches running in a separate
distributed system.
The GemFire <a href="../../../../org/apache/geode/cache/server/package-summary.html#package_description">servers</a>
are generally run as cacheserver processes.
<a href="../../../../org/apache/geode/cache/client/package-summary.html#package_description">Clients</a>
are configured with a
<a href="../../../../org/apache/geode/cache/client/ClientCache.html" title="interface in org.apache.geode.cache.client">client cache</a>
which has a default
<a href="../../../../org/apache/geode/cache/client/Pool.html" title="interface in org.apache.geode.cache.client">pool</a>
that manages connections to the server caches
which are used by the client regions.
When a client updates its region, the update is forwarded to the server.
When a client get results in a local cache miss,
the get request is forwarded to the server.
The clients may also subscribe to server-side events.
For more information on the client see the
<a href="../../../../org/apache/geode/cache/client/package-summary.html#package_description">client</a>.
For more information on the server see the
<a href="../../../../org/apache/geode/cache/server/package-summary.html#package_description">server</a>.</p>
<a name="tx"><h2>Cache Transactions</h2><a href="#top">Back to Top</a>
<p>The GemFire cache supports transactions providing enhanced data
consistency across multiple Regions. GemFire Transactions are
designed to run in a highly concurrent environment and as such have
optimistic conflict behavior. They are optimistic in the sense that
they assume little data overlap between transactions. Using that
assumption, they do not reserve entries that are being changed by the
transaction until the commit operation. For example, when two
transactions operate on the same Entry, the last one to commit will
detect a conflict and fail to commit. The changes made by the
successful transaction are only available to other threads after the
commit has finished, or in other words GemFire Transactions exhibit
Read Committed behavior.</p>
<p>To provide application integration with GemFire transactions, a
<code>TransactionListener</code> with associated
<code>TransactionEvents</code> is provided as a <code>Cache</code>
attribute. The listener is notified of commits, both failed and
successful as well as explicit rollbacks. When a commit message is
received by a distributed member with the same Region, again the
TransactionListener is invoked.
<p>GemFire transactions also integrate well with JTA transactions. If
a JTA transaction has begun and an existing GemFire transaction is not
already present, any transactional region operation will create a
GemFire transaction and register it with the JTA transaction, causing
the JTA transaction manager to take control of the GemFire
commit/rollback operation.
<p>Similar to JTA transactions, GemFire transactions are associated
with a thread. Only one transaction is allowed at a time per thread
and a transaction is not allowed to be shared amount threads. The
changes made changed by a GemFire transaction are distributed to other
distributed memebers as per the Region's Scope.
<p>Finally, GemFire transactions allow for the "collapse" of multiple
operations on an Entry, for example if an application destroys an
Entry and follows with a <code>create</code> operation and then a
<code>put</code> operations, all three operations are combined into
one action reflecting the sum of all three.
<a name="membership"><h2>Membership Attributes</h2><a href="#top">Back to Top</a>
<p>The GemFire region can be configured to require the
presence of one or more user-defined membership roles. Each <a href="../../../../org/apache/geode/distributed/Role.html" title="interface in org.apache.geode.distributed"><code>Role</code></a> is assigned to any number of
applications when each application connects to the GemFire distributed
system. <a href="../../../../org/apache/geode/cache/MembershipAttributes.html" title="class in org.apache.geode.cache"><code>MembershipAttributes</code></a> are
then used to specify which <a href="../../../../org/apache/geode/cache/MembershipAttributes.html#getRequiredRoles--">roles
are required</a> to be online and present in that region's membership
for access to the cache region being configured.</p>
<p>In addition to specifying which roles are required,
<code>MembershipAttributes</code> are used to specify the <a href="../../../../org/apache/geode/cache/LossAction.html" title="class in org.apache.geode.cache"><code>LossAction</code></a>. The loss action determines how
access to the region is affected when one or more required roles are
offline and no longer present in the system membership. The region can be
made completely <a href="../../../../org/apache/geode/cache/LossAction.html#NO_ACCESS">"NO_ACCESS"</a>,
which means that the application cannot read from or write to that region.
<a href="../../../../org/apache/geode/cache/LossAction.html#LIMITED_ACCESS">"LIMITED_ACCESS"</a> means that the application cannot write to that region.
<a href="../../../../org/apache/geode/cache/LossAction.html#FULL_ACCESS">"FULL_ACCESS"</a> means that the application can read from and write to that
region as normal. If "FULL_ACCESS" is selected,
then the application would only be aware of the missing required role if it
registered a <a href="../../../../org/apache/geode/cache/RegionRoleListener.html" title="interface in org.apache.geode.cache"><code>RegionRoleListener</code></a>.
This listener provides callbacks to notify the application when required
roles are gained or lost, thus providing for custom integration of required
roles with the application.</p>
<p><a href="../../../../org/apache/geode/cache/ResumptionAction.html" title="class in org.apache.geode.cache"><code>ResumptionAction</code></a> defined in the
<code>MembershipAttributes</code> specifies how the application responds
to having a missing required role return to the distributed membership.
<a href="../../../../org/apache/geode/cache/ResumptionAction.html#NONE">"None"</a>
results in no special action, while <a href="../../../../org/apache/geode/cache/ResumptionAction.html#REINITIALIZE">"Reinitialize"</a>
causes the region to be reinitialized. Reinitializing the region will
clear all entries from that region. If it is a replicate, the
region will repopulate with entries available from other distributed
members.</p>
<p><a href="../../../../org/apache/geode/cache/RequiredRoles.html" title="class in org.apache.geode.cache"><code>RequiredRoles</code></a> provides methods to
check for missing required roles for a region and to wait until all required
roles are present. In addition, this class can be used to check if a role
is currently present in a region's membership.</p></div>
</div>
<!-- ======= 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 class="navBarCell1Rev">Package</li>
<li>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/annotations/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../org/apache/geode/cache/asyncqueue/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/geode/cache/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>