<!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>
