Implemented SGF-206 - CacheLoader and CacheWriter support on client, local Regions in a GemFire ClientCache. Also, performed additional refactoring of related code.

This commit is contained in:
John Blum
2013-10-23 14:23:20 -07:00
parent 8deda7804c
commit 4ed76947d0
11 changed files with 602 additions and 287 deletions

View File

@@ -443,8 +443,7 @@ The name of the region definition.]]></xsd:documentation>
</xsd:annotation>
</xsd:complexType>
<!-- -->
<xsd:complexType name="baseReadOnlyRegionType"
abstract="true">
<xsd:complexType name="baseReadOnlyRegionType" abstract="true">
<xsd:complexContent>
<xsd:extension base="basicRegionType">
<xsd:sequence>
@@ -502,7 +501,6 @@ Time to idle (or idle timeout) configuration for the region itself. Default: no
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
<xsd:element name="entry-ttl" type="expirationType"
minOccurs="0" maxOccurs="1">
@@ -512,7 +510,6 @@ Time to live configuration for the region entries. Default: no expiration.
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="custom-entry-ttl" type="customExpirationType"
minOccurs="0" maxOccurs="1">
<xsd:annotation>
@@ -527,7 +524,6 @@ CustomExpiry time to live configuration for the region entries. Default: no expi
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:choice>
<xsd:element name="entry-tti" type="expirationType"
minOccurs="0" maxOccurs="1">
@@ -678,7 +674,6 @@ The fully qualified class name of the expected value type
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
@@ -806,7 +801,7 @@ use inner bean declarations.
</xsd:element>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="index-update-type" use="optional"
<xsd:attribute name="index-update-type" use="optional"
default="synchronous">
<xsd:annotation>
<xsd:documentation><![CDATA[
@@ -1673,6 +1668,36 @@ which it receives its data. The client can hold some data locally or forward all
<xsd:complexContent>
<xsd:extension base="readOnlyRegionType">
<xsd:sequence>
<xsd:element name="cache-loader" type="beanDeclarationType"
minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation source="com.gemstone.gemfire.cache.CacheLoader"><![CDATA[
The cache loader definition for this region. A cache loader allows data to be placed into a region.
]]></xsd:documentation>
<xsd:appinfo>
<tool:annotation>
<tool:exports type="com.gemstone.gemfire.cache.CacheLoader" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="cache-writer" type="beanDeclarationType"
minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation source="com.gemstone.gemfire.cache.CacheWriter"><![CDATA[
The cache writer definition for this region. A cache writer acts as a dedicated synchronous listener that is notified
before a region or an entry is modified. A typical example would be a writer that updates the database.
Note: Only one CacheWriter is invoked. GemFire will always prefer the local one (if it exists) otherwise it will
arbitrarily pick one.
]]></xsd:documentation>
<xsd:appinfo>
<tool:annotation>
<tool:exports type="com.gemstone.gemfire.cache.CacheWriter" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="key-interest">
<xsd:annotation>