Implements JIRA feature request SGF-309 adding support for compression of GemFire Cache Region data using the new Compressor attribute and property in the RegionAttributes API.

This commit is contained in:
John Blum
2014-08-28 15:32:11 -07:00
parent b9a966e11a
commit 84be164f60
14 changed files with 308 additions and 81 deletions

View File

@@ -1,15 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:gfe="http://www.springframework.org/schema/gemfire"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:util="http://www.springframework.org/schema/util"
default-lazy-init="true"
xsi:schemaLocation="http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:gfe="http://www.springframework.org/schema/gemfire"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd
" default-lazy-init="true">
<gfe:client-cache />
<gfe:client-cache/>
<gfe:client-region id="simple" name="SimpleRegion"/>
@@ -53,4 +52,10 @@
</gfe:cache-writer>
</gfe:client-region>
<gfe:client-region id="compressed" pool-name="gemfire-pool" shortcut="PROXY">
<gfe:compressor ref="testCompressor"/>
</gfe:client-region>
<bean id="testCompressor" class="org.springframework.data.gemfire.config.ClientRegionNamespaceTest$TestCompressor" p:name="STD"/>
</beans>

View File

@@ -1,21 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:gfe="http://www.springframework.org/schema/gemfire"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd
xmlns:gfe="http://www.springframework.org/schema/gemfire"
xmlns:p="http://www.springframework.org/schema/p"
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.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd" default-lazy-init="true">
http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd
" default-lazy-init="true">
<gfe:cache />
<gfe:cache/>
<gfe:local-region id="simple" />
<gfe:local-region id="pub" name="publisher"/>
<gfe:local-region id="persistent" persistent="true"/>
<gfe:local-region id="complex" close="true" destroy="false">
<gfe:cache-listener>
<ref bean="c-listener"/>
@@ -24,20 +24,26 @@
<gfe:cache-loader ref="c-loader"/>
<gfe:cache-writer ref="c-writer"/>
</gfe:local-region>
<gfe:local-region id="local-with-attributes"
disk-synchronous="true"
ignore-jta="true"
index-update-type="asynchronous"
initial-capacity="10"
key-constraint="java.lang.String"
value-constraint="java.lang.String"
data-policy="PRELOADED"
/>
<gfe:local-region id="local-with-attributes"
data-policy="PRELOADED"
disk-synchronous="true"
ignore-jta="true"
index-update-type="asynchronous"
initial-capacity="10"
key-constraint="java.lang.String"
value-constraint="java.lang.String"
/>
<gfe:local-region id="compressed" persistent="false">
<gfe:compressor>
<bean class="org.springframework.data.gemfire.config.LocalRegionNamespaceTest$TestCompressor" p:name="ABC"/>
</gfe:compressor>
</gfe:local-region>
<bean id="c-listener" class="org.springframework.data.gemfire.SimpleCacheListener"/>
<bean id="c-loader" class="org.springframework.data.gemfire.SimpleCacheLoader"/>
<bean id="c-writer" class="org.springframework.data.gemfire.SimpleCacheWriter"/>
<gfe:lookup-region id="lookup" name="existing"/>
</beans>
</beans>

View File

@@ -42,6 +42,12 @@
</gfe:partition-listener>
</gfe:partitioned-region>
<gfe:partitioned-region id="compressed" persistent="false">
<gfe:compressor>
<bean class="org.springframework.data.gemfire.config.PartitionedRegionNamespaceTest$TestCompressor" p:name="testCompressor"/>
</gfe:compressor>
</gfe:partitioned-region>
<gfe:partitioned-region id="fixed">
<gfe:fixed-partition partition-name="p1" primary="true" num-buckets="3"/>
<gfe:fixed-partition partition-name="p2"/>

View File

@@ -1,19 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:gfe="http://www.springframework.org/schema/gemfire"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd
xmlns:gfe="http://www.springframework.org/schema/gemfire"
xmlns:p="http://www.springframework.org/schema/p"
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.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd" default-lazy-init="true">
http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd
" default-lazy-init="true">
<gfe:cache/>
<gfe:replicated-region id="simple" close="false" concurrency-checks-enabled="false"/>
<gfe:cache />
<gfe:replicated-region id="simple" close="false" concurrency-checks-enabled="false" />
<gfe:replicated-region id="pub" name="publisher"/>
<gfe:replicated-region id="complex" close="true" destroy="false">
<gfe:cache-listener>
<ref bean="c-listener"/>
@@ -22,27 +22,32 @@
<gfe:cache-loader ref="c-loader"/>
<gfe:cache-writer ref="c-writer"/>
</gfe:replicated-region>
<gfe:replicated-region id="replicated-with-attributes"
disk-synchronous="true"
ignore-jta="true"
index-update-type="asynchronous"
initial-capacity="10"
key-constraint="java.lang.String"
value-constraint="java.lang.String"
scope="global"
is-lock-grantor="true"
enable-async-conflation="true"
enable-subscription-conflation="true"
load-factor="0.5"
cloning-enabled="false"
concurrency-level="10"
multicast-enabled="true"
/>
<gfe:replicated-region id="replicated-with-attributes"
cloning-enabled="false"
concurrency-level="10"
disk-synchronous="true"
enable-async-conflation="true"
enable-subscription-conflation="true"
ignore-jta="true"
index-update-type="asynchronous"
initial-capacity="10"
is-lock-grantor="true"
key-constraint="java.lang.String"
load-factor="0.5"
multicast-enabled="true"
scope="global"
value-constraint="java.lang.String"/>
<gfe:replicated-region id="compressed" persistent="false">
<gfe:compressor ref="testCompressor"/>
</gfe:replicated-region>
<bean id="c-listener" class="org.springframework.data.gemfire.SimpleCacheListener"/>
<bean id="c-loader" class="org.springframework.data.gemfire.SimpleCacheLoader"/>
<bean id="c-writer" class="org.springframework.data.gemfire.SimpleCacheWriter"/>
<bean id="testCompressor" class="org.springframework.data.gemfire.config.ReplicatedRegionNamespaceTest$TestCompressor" p:name="XYZ"/>
<gfe:lookup-region id="lookup" name="existing"/>
</beans>
</beans>