Fixed JIRA issue SGF-197 involving bean ordering issues when GemFire is configured with a PDX persistent Disk Store and persistent Regions contain data (keys) based on PDX types.

This commit is contained in:
John Blum
2013-10-17 17:23:19 -07:00
parent e6e1573f0c
commit fd35006c5e
8 changed files with 736 additions and 2 deletions

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:gfe="http://www.springframework.org/schema/gemfire"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd
">
<bean id="autoSerializer" class="com.gemstone.gemfire.pdx.ReflectionBasedAutoSerializer"/>
<gfe:cache pdx-serializer-ref="autoSerializer" pdx-read-serialized="true" pdx-persistent="true" pdx-disk-store="pdxStore"/>
</beans>

View File

@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:gfe="http://www.springframework.org/schema/gemfire"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd
">
<util:properties id="peerCacheConfigurationSettings">
<prop key="log-level">config</prop>
<prop key="name">pdxDiskStoreTest</prop>
</util:properties>
<!--
<util:properties id="peerCacheConfigurationSettings" location="classpath:gemfire.properties"/>
-->
<bean id="autoSerializer" class="com.gemstone.gemfire.pdx.ReflectionBasedAutoSerializer">
<constructor-arg type="boolean" value="true"/>
<constructor-arg>
<list>
<value>org.springframework.data.gemfire.PdxDiskStoreIntegrationTest\$KeyHolder</value>
<value>org.springframework.data.gemfire.PdxDiskStoreIntegrationTest\$ValueHolder</value>
</list>
</constructor-arg>
</bean>
<!--
NOTE if the GemFire Disk Stores are declared/defined in the right order inside this Spring application context
configuration file, then the test passes since the PDX Disk Store gets created before the Data Disk Store that
is used by the Region to store data with the PDX typed key and value objects.
-->
<!--
<gfe:disk-store id="pdxStore" auto-compact="true" compaction-threshold="50" queue-size="50" max-oplog-size="10" time-interval="60000">
<gfe:disk-dir location="./gemfire/pdx-store" max-size="50"/>
</gfe:disk-store>
-->
<gfe:cache properties-ref="peerCacheConfigurationSettings" pdx-serializer-ref="autoSerializer" pdx-persistent="true" pdx-disk-store="pdxStore"/>
<gfe:disk-store id="dataStore" auto-compact="true" compaction-threshold="75" queue-size="50" max-oplog-size="10" time-interval="600000">
<gfe:disk-dir location="./gemfire/data-store/" max-size="50"/>
</gfe:disk-store>
<gfe:partitioned-region id="pdxDataRegion" name="PdxData" persistent="true" disk-store-ref="dataStore" disk-synchronous="true"/>
<gfe:disk-store id="pdxStore" auto-compact="true" compaction-threshold="50" queue-size="50" max-oplog-size="10" time-interval="60000">
<gfe:disk-dir location="./gemfire/pdx-store" max-size="50"/>
</gfe:disk-store>
<!--
<bean id="pdxDataTemplate" class="org.springframework.data.gemfire.GemfireTemplate" p:region-ref="pdxDataRegion"/>
-->
</beans>