added dynamic region and jndi binding support

This commit is contained in:
David Turanski
2012-07-03 10:01:49 -04:00
parent 1467ec0668
commit bb34beb224
13 changed files with 490 additions and 157 deletions

View File

@@ -30,15 +30,43 @@ and may be nested or referenced.
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="initializer" type="beanDeclarationType" minOccurs="0" maxOccurs="1">
<xsd:element name="dynamic-region-factory" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[
Enables Dynamic Regions and specifies their configuration.
]]></xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:attribute name="disk-dir" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
Specifies the directory path for disk persistence for dynamic regions.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="persistent" type="xsd:string" default="true">
<xsd:annotation>
<xsd:documentation><![CDATA[
Enables persistence for dynamic regions.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="register-interest" type="xsd:string" default="true">
<xsd:annotation>
<xsd:documentation><![CDATA[
Specifies whether dynamic regions register interest in all keys in a corresponding server region.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element name="jndi-binding" type="jndiBindingType" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation><![CDATA[
Registers a bean as an initializer for the cache. The bean must implement com.gemstone.gemfire.cache.Declarable
and may be nested or referenced.
Configures a data source to be bound to a JNDI context for use with Gemfire transactions
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="jndi-binding" type="jndiBindingType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="copy-on-read" type="xsd:string" use="optional" default="false">
<xsd:annotation>
@@ -82,15 +110,15 @@ when the same cache is used in multiple application context/bean factories insid
<xsd:attribute name="pdx-serializer" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation><![CDATA[
Sets the PDX serializer for the cache. If this serializer is set, it will be consulted to see if it can serialize any
domain classes which are added to the cache in portable data exchange format.
Sets the PDX serializer for the cache. If this serializer is set, it will be consulted to see if it can serialize any
domain classes which are added to the cache in portable data exchange format.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="pdx-disk-store" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation><![CDATA[
Sets the name of the disk store to use for PDX meta data. When serializing objects in the PDX format,
Sets the name of the disk store to use for PDX meta data. When serializing objects in the PDX format,
the type definitions are persisted to disk. This setting controls which disk store is used for that persistence.
If not set, the metadata will go in the default disk store.
]]></xsd:documentation>
@@ -99,7 +127,7 @@ If not set, the metadata will go in the default disk store.
<xsd:attribute name="pdx-persistent" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation><![CDATA[
Control whether the type metadata for PDX objects is persisted to disk. The default for this setting is true.
Control whether the type metadata for PDX objects is persisted to disk. The default for this setting is true.
If you are using a WAN gateway, or persistent regions, you should leave this set to true.
]]></xsd:documentation>
</xsd:annotation>
@@ -110,11 +138,11 @@ If you are using a WAN gateway, or persistent regions, you should leave this set
Sets the object preference to PdxInstance type. When a cached object that was serialized as a PDX is read from the cache
a PdxInstance will be returned instead of the actual domain class. The PdxInstance is an interface that provides run time
access to the fields of a PDX without deserializing the entire PDX. The PdxInstance implementation is a light weight wrapper
that simply refers to the raw bytes of the PDX that are kept in the cache. Using this method applications can choose to
that simply refers to the raw bytes of the PDX that are kept in the cache. Using this method applications can choose to
access PdxInstance instead of Java object.
Note that a PdxInstance is only returned if a serialized PDX is found in the cache. If the cache contains a deserialized PDX,
then a domain class instance is returned instead of a PdxInstance.
Note that a PdxInstance is only returned if a serialized PDX is found in the cache. If the cache contains a deserialized PDX,
then a domain class instance is returned instead of a PdxInstance.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
@@ -122,14 +150,33 @@ then a domain class instance is returned instead of a PdxInstance.
<xsd:annotation>
<xsd:documentation><![CDATA[
Controls whether pdx ignores fields that were unread during deserialization. The default is to preserve unread fields be
including their data during serialization. But if you configure the cache to ignore unread fields then their data will be
including their data during serialization. But if you configure the cache to ignore unread fields then their data will be
lost during serialization.
You should only set this attribute to true if you know this member will only be reading cache data. In this use case you
do not need to pay the cost of preserving the unread fields since you will never be reserializing pdx data.
You should only set this attribute to true if you know this member will only be reading cache data. In this use case you
do not need to pay the cost of preserving the unread fields since you will never be reserializing pdx data.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="critical-heap-percentage">
<xsd:annotation>
<xsd:documentation source="com.gemstone.gemfire.cache.control.ResourceManager"><![CDATA[
Set the percentage of heap at or above which the cache is considered in danger of becoming inoperable
due to garbage collection pauses or out of memory exceptions. Changing this value can cause a LowMemoryException to
be thrown during certain cache operation. This feature requires additional VM flags to perform properly (see the
JavaDocs for com.gemstone.gemfire.cache.control.ResourceManager for more information).
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="eviction-heap-percentage">
<xsd:annotation>
<xsd:documentation source="com.gemstone.gemfire.cache.control.ResourceManager"><![CDATA[
Set the percentage of heap at or above which the eviction should begin on Regions configured for HeapLRU eviction.
This feature requires additional VM flags to perform properly (see the
JavaDocs for com.gemstone.gemfire.cache.control.ResourceManager for more information).
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<!-- -->
<xsd:element name="cache">
@@ -1713,14 +1760,31 @@ The name of the pool used by the index. Used usually in client scenarios.
<!-- -->
<xsd:complexType name="jndiBindingType">
<xsd:sequence>
<xsd:element name="configProperty" type="configPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="jndi-prop" type="configPropertyType" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation><![CDATA[
Specifies a vendor-specific property
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="jndi-name" type="xsd:string" use="required"/>
<xsd:attribute name="jndi-name" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation><![CDATA[
The JNDI name for this datasource. Will be prefixed with "java:/"
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="type" use="required">
<xsd:annotation>
<xsd:documentation><![CDATA[
Specifies the datasource implementation: ManagedDataSource,SimpleDataSource,PooledDataSource,XaPooledDataSource
]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ManagedDataSource"/>
<xsd:enumeration value="SimpeDataSource"/>
<xsd:enumeration value="SimpleDataSource"/>
<xsd:enumeration value="PooledDataSource"/>
<xsd:enumeration value="XaPooledDataSource"/>
</xsd:restriction>
@@ -1741,12 +1805,21 @@ The name of the pool used by the index. Used usually in client scenarios.
<xsd:attribute name="transaction-type" type="xsd:string" use="optional"/>
</xsd:complexType>
<!-- -->
<xsd:complexType name="configPropertyType">
<xsd:sequence>
<xsd:element name="configPropertyName" type="xsd:string"/>
<xsd:element name="configPropertyType" type="xsd:string"/>
<xsd:element name="configPropertyValue" type="xsd:string"/>
</xsd:sequence>
<xsd:complexType name="configPropertyType" mixed="true">
<xsd:attribute name="key" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation><![CDATA[
Specifies The property key
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="type" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation><![CDATA[
Specifies a data type if other than java.lang.String
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<!-- -->
<xsd:simpleType name="baseDataPolicyType">