| <!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 Package</a></li> |
| <li><a href="../../../../org/apache/geode/cache/asyncqueue/package-summary.html">Next 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 Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../allclasses-noframe.html">All 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 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: <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"> </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><K,V></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><K,V></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><K,V></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><K,V></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><K,V></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><K,V></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><K,V></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><K,V></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><K,V></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><K,V></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><K,V></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><K,V></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><K,V></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><K,V></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><K,V></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><K,V></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><K,V></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><K,V></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><K,V></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><V></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"> </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><K,V></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><K,V></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><K,V></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"> </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"> </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<K, V>)</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 Package</a></li> |
| <li><a href="../../../../org/apache/geode/cache/asyncqueue/package-summary.html">Next 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 Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../allclasses-noframe.html">All 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> |