diff --git a/src/main/java/org/springframework/data/gemfire/client/ClientRegionFactoryBean.java b/src/main/java/org/springframework/data/gemfire/client/ClientRegionFactoryBean.java index 362add1b..d10968bc 100644 --- a/src/main/java/org/springframework/data/gemfire/client/ClientRegionFactoryBean.java +++ b/src/main/java/org/springframework/data/gemfire/client/ClientRegionFactoryBean.java @@ -38,6 +38,7 @@ import com.gemstone.gemfire.cache.client.ClientCache; import com.gemstone.gemfire.cache.client.ClientRegionFactory; import com.gemstone.gemfire.cache.client.ClientRegionShortcut; import com.gemstone.gemfire.cache.client.Pool; +import com.gemstone.gemfire.internal.cache.GemFireCacheImpl; /** * Client extension for GemFire regions. @@ -74,8 +75,12 @@ public class ClientRegionFactoryBean extends RegionLookupFactoryBean @Override protected Region lookupFallback(GemFireCache cache, String regionName) throws Exception { Assert.isTrue(cache instanceof ClientCache, "Unable to create regions from " + cache); - ClientCache c = (ClientCache) cache; + + if (cache instanceof GemFireCacheImpl) { + Assert.isTrue(((GemFireCacheImpl) cache).isClient(), "A client-cache instance is required"); + } + // first look at shortcut ClientRegionShortcut s = null; @@ -88,8 +93,13 @@ public class ClientRegionFactoryBean extends RegionLookupFactoryBean else if (DataPolicy.PERSISTENT_REPLICATE.equals(dataPolicy)) { s = ClientRegionShortcut.LOCAL_PERSISTENT; } + else { + s = ClientRegionShortcut.LOCAL; + } + } + else { + s = ClientRegionShortcut.LOCAL; } - s = ClientRegionShortcut.LOCAL; } else { s = shortcut; } diff --git a/src/test/resources/org/springframework/data/gemfire/client/client-cache.xml b/src/test/resources/org/springframework/data/gemfire/client/client-cache.xml index 4534f6a7..5cfeb3ae 100644 --- a/src/test/resources/org/springframework/data/gemfire/client/client-cache.xml +++ b/src/test/resources/org/springframework/data/gemfire/client/client-cache.xml @@ -12,6 +12,6 @@ --> - + diff --git a/src/test/resources/org/springframework/data/gemfire/config/client-ns.xml b/src/test/resources/org/springframework/data/gemfire/config/client-ns.xml index ec14d7fa..f2a229e8 100644 --- a/src/test/resources/org/springframework/data/gemfire/config/client-ns.xml +++ b/src/test/resources/org/springframework/data/gemfire/config/client-ns.xml @@ -9,7 +9,7 @@ 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"> - +