diff --git a/src/main/java/org/springframework/data/gemfire/client/ClientCacheFactoryBean.java b/src/main/java/org/springframework/data/gemfire/client/ClientCacheFactoryBean.java index 89867e9c..a2b58fb2 100644 --- a/src/main/java/org/springframework/data/gemfire/client/ClientCacheFactoryBean.java +++ b/src/main/java/org/springframework/data/gemfire/client/ClientCacheFactoryBean.java @@ -17,14 +17,12 @@ package org.springframework.data.gemfire.client; import java.io.IOException; -import java.net.InetSocketAddress; import java.util.Properties; import org.springframework.beans.factory.BeanInitializationException; import org.springframework.data.gemfire.CacheFactoryBean; import org.springframework.data.gemfire.GemfireUtils; import org.springframework.data.gemfire.config.GemfireConstants; -import org.springframework.data.gemfire.util.CollectionUtils; import org.springframework.util.Assert; import org.springframework.util.StringUtils; @@ -172,7 +170,8 @@ public class ClientCacheFactoryBean extends CacheFactoryBean { * @see com.gemstone.gemfire.cache.client.ClientCacheFactory */ private ClientCacheFactory initializePool(ClientCacheFactory clientCacheFactory) { - return initializeClientCacheFactory(clientCacheFactory, resolvePool(this.pool)); + resolvePool(this.pool); + return clientCacheFactory; } /** @@ -201,7 +200,7 @@ public class ClientCacheFactoryBean extends CacheFactoryBean { } catch (Exception e) { throw new BeanInitializationException(String.format( - "no Bean of type '%1$s' having name '%2$s' was found%3$s", Pool.class.getName(), poolName, + "no bean of type '%1$s' having name '%2$s' was found%3$s", Pool.class.getName(), poolName, (GemfireConstants.DEFAULT_GEMFIRE_POOL_NAME.equals(poolName) ? "; a ClientCache requires a Pool" : "")), e); } @@ -211,47 +210,6 @@ public class ClientCacheFactoryBean extends CacheFactoryBean { return localPool; } - /** - * Copy the Pool settings to the ClientCacheFactory so the ClientCache will have a matching configuration. - * - * @param clientCacheFactory the GemFire ClientCacheFactory used to create an instance of the ClientCache. - * @param pool the GemFire Pool from which to copy the pool settings. - * @see com.gemstone.gemfire.cache.client.ClientCacheFactory - * @see com.gemstone.gemfire.cache.client.Pool - */ - private ClientCacheFactory initializeClientCacheFactory(ClientCacheFactory clientCacheFactory, Pool pool) { - if (pool != null) { - clientCacheFactory.setPoolFreeConnectionTimeout(pool.getFreeConnectionTimeout()); - clientCacheFactory.setPoolIdleTimeout(pool.getIdleTimeout()); - clientCacheFactory.setPoolLoadConditioningInterval(pool.getLoadConditioningInterval()); - clientCacheFactory.setPoolMaxConnections(pool.getMaxConnections()); - clientCacheFactory.setPoolMinConnections(pool.getMinConnections()); - clientCacheFactory.setPoolMultiuserAuthentication(pool.getMultiuserAuthentication()); - clientCacheFactory.setPoolPingInterval(pool.getPingInterval()); - clientCacheFactory.setPoolPRSingleHopEnabled(pool.getPRSingleHopEnabled()); - clientCacheFactory.setPoolReadTimeout(pool.getReadTimeout()); - clientCacheFactory.setPoolRetryAttempts(pool.getRetryAttempts()); - clientCacheFactory.setPoolServerGroup(pool.getServerGroup()); - clientCacheFactory.setPoolSocketBufferSize(pool.getSocketBufferSize()); - clientCacheFactory.setPoolStatisticInterval(pool.getStatisticInterval()); - clientCacheFactory.setPoolSubscriptionAckInterval(pool.getSubscriptionAckInterval()); - clientCacheFactory.setPoolSubscriptionEnabled(pool.getSubscriptionEnabled()); - clientCacheFactory.setPoolSubscriptionMessageTrackingTimeout(pool.getSubscriptionMessageTrackingTimeout()); - clientCacheFactory.setPoolSubscriptionRedundancy(pool.getSubscriptionRedundancy()); - clientCacheFactory.setPoolThreadLocalConnections(pool.getThreadLocalConnections()); - - for (InetSocketAddress socketAddress : CollectionUtils.nullSafeCollection(pool.getLocators())) { - clientCacheFactory.addPoolLocator(socketAddress.getHostName(), socketAddress.getPort()); - } - - for (InetSocketAddress socketAddress : CollectionUtils.nullSafeCollection(pool.getServers())) { - clientCacheFactory.addPoolServer(socketAddress.getHostName(), socketAddress.getPort()); - } - } - - return clientCacheFactory; - } - /** * Register for events after Pool and Regions have been created and iff non-durable client... * diff --git a/src/test/java/org/springframework/data/gemfire/client/ClientCacheFactoryBeanTest.java b/src/test/java/org/springframework/data/gemfire/client/ClientCacheFactoryBeanTest.java index e954aa0b..3c29ce39 100644 --- a/src/test/java/org/springframework/data/gemfire/client/ClientCacheFactoryBeanTest.java +++ b/src/test/java/org/springframework/data/gemfire/client/ClientCacheFactoryBeanTest.java @@ -288,24 +288,24 @@ public class ClientCacheFactoryBeanTest { verify(mockBeanFactory, times(1)).isTypeMatch(eq("testCreateCache.Pool"), eq(Pool.class)); verify(mockBeanFactory, times(1)).getBean(eq("testCreateCache.Pool"), eq(Pool.class)); verify(mockBeanFactory, never()).getBean(eq(Pool.class)); - verify(mockClientCacheFactory, times(1)).setPoolFreeConnectionTimeout(eq(30000)); - verify(mockClientCacheFactory, times(1)).setPoolIdleTimeout(eq(60000l)); - verify(mockClientCacheFactory, times(1)).setPoolLoadConditioningInterval(eq(45000)); - verify(mockClientCacheFactory, times(1)).setPoolMaxConnections(eq(100)); - verify(mockClientCacheFactory, times(1)).setPoolMinConnections(eq(10)); - verify(mockClientCacheFactory, times(1)).setPoolMultiuserAuthentication(eq(true)); - verify(mockClientCacheFactory, times(1)).setPoolPingInterval(eq(15000l)); - verify(mockClientCacheFactory, times(1)).setPoolPRSingleHopEnabled(eq(true)); - verify(mockClientCacheFactory, times(1)).setPoolReadTimeout(eq(20000)); - verify(mockClientCacheFactory, times(1)).setPoolRetryAttempts(eq(10)); - verify(mockClientCacheFactory, times(1)).setPoolServerGroup(eq("TestServerGroup")); - verify(mockClientCacheFactory, times(1)).setPoolSocketBufferSize(eq(32768)); - verify(mockClientCacheFactory, times(1)).setPoolStatisticInterval(eq(5000)); - verify(mockClientCacheFactory, times(1)).setPoolSubscriptionAckInterval(eq(15000)); - verify(mockClientCacheFactory, times(1)).setPoolSubscriptionEnabled(eq(true)); - verify(mockClientCacheFactory, times(1)).setPoolSubscriptionMessageTrackingTimeout(eq(30000)); - verify(mockClientCacheFactory, times(1)).setPoolSubscriptionRedundancy(eq(2)); - verify(mockClientCacheFactory, times(1)).setPoolThreadLocalConnections(eq(false)); + verify(mockClientCacheFactory, never()).setPoolFreeConnectionTimeout(eq(30000)); + verify(mockClientCacheFactory, never()).setPoolIdleTimeout(eq(60000l)); + verify(mockClientCacheFactory, never()).setPoolLoadConditioningInterval(eq(45000)); + verify(mockClientCacheFactory, never()).setPoolMaxConnections(eq(100)); + verify(mockClientCacheFactory, never()).setPoolMinConnections(eq(10)); + verify(mockClientCacheFactory, never()).setPoolMultiuserAuthentication(eq(true)); + verify(mockClientCacheFactory, never()).setPoolPingInterval(eq(15000l)); + verify(mockClientCacheFactory, never()).setPoolPRSingleHopEnabled(eq(true)); + verify(mockClientCacheFactory, never()).setPoolReadTimeout(eq(20000)); + verify(mockClientCacheFactory, never()).setPoolRetryAttempts(eq(10)); + verify(mockClientCacheFactory, never()).setPoolServerGroup(eq("TestServerGroup")); + verify(mockClientCacheFactory, never()).setPoolSocketBufferSize(eq(32768)); + verify(mockClientCacheFactory, never()).setPoolStatisticInterval(eq(5000)); + verify(mockClientCacheFactory, never()).setPoolSubscriptionAckInterval(eq(15000)); + verify(mockClientCacheFactory, never()).setPoolSubscriptionEnabled(eq(true)); + verify(mockClientCacheFactory, never()).setPoolSubscriptionMessageTrackingTimeout(eq(30000)); + verify(mockClientCacheFactory, never()).setPoolSubscriptionRedundancy(eq(2)); + verify(mockClientCacheFactory, never()).setPoolThreadLocalConnections(eq(false)); } @Test @@ -356,24 +356,24 @@ public class ClientCacheFactoryBeanTest { verify(mockBeanFactory, never()).getBean(eq("TestGemFirePool"), eq(Pool.class)); verify(mockBeanFactory, times(1)).getBean(eq(Pool.class)); verify(mockPool, times(1)).getName(); - verify(mockClientCacheFactory, times(1)).setPoolFreeConnectionTimeout(eq(120000)); - verify(mockClientCacheFactory, times(1)).setPoolIdleTimeout(eq(300000l)); - verify(mockClientCacheFactory, times(1)).setPoolLoadConditioningInterval(eq(15000)); - verify(mockClientCacheFactory, times(1)).setPoolMaxConnections(eq(50)); - verify(mockClientCacheFactory, times(1)).setPoolMinConnections(eq(5)); - verify(mockClientCacheFactory, times(1)).setPoolMultiuserAuthentication(eq(false)); - verify(mockClientCacheFactory, times(1)).setPoolPingInterval(eq(12000l)); - verify(mockClientCacheFactory, times(1)).setPoolPRSingleHopEnabled(eq(true)); - verify(mockClientCacheFactory, times(1)).setPoolReadTimeout(eq(60000)); - verify(mockClientCacheFactory, times(1)).setPoolRetryAttempts(eq(5)); - verify(mockClientCacheFactory, times(1)).setPoolServerGroup(eq("MockServerGroup")); - verify(mockClientCacheFactory, times(1)).setPoolSocketBufferSize(eq(16384)); - verify(mockClientCacheFactory, times(1)).setPoolStatisticInterval(eq(1000)); - verify(mockClientCacheFactory, times(1)).setPoolSubscriptionAckInterval(eq(500)); - verify(mockClientCacheFactory, times(1)).setPoolSubscriptionEnabled(eq(true)); - verify(mockClientCacheFactory, times(1)).setPoolSubscriptionMessageTrackingTimeout(eq(15000)); - verify(mockClientCacheFactory, times(1)).setPoolSubscriptionRedundancy(eq(4)); - verify(mockClientCacheFactory, times(1)).setPoolThreadLocalConnections(eq(false)); + verify(mockClientCacheFactory, never()).setPoolFreeConnectionTimeout(eq(120000)); + verify(mockClientCacheFactory, never()).setPoolIdleTimeout(eq(300000l)); + verify(mockClientCacheFactory, never()).setPoolLoadConditioningInterval(eq(15000)); + verify(mockClientCacheFactory, never()).setPoolMaxConnections(eq(50)); + verify(mockClientCacheFactory, never()).setPoolMinConnections(eq(5)); + verify(mockClientCacheFactory, never()).setPoolMultiuserAuthentication(eq(false)); + verify(mockClientCacheFactory, never()).setPoolPingInterval(eq(12000l)); + verify(mockClientCacheFactory, never()).setPoolPRSingleHopEnabled(eq(true)); + verify(mockClientCacheFactory, never()).setPoolReadTimeout(eq(60000)); + verify(mockClientCacheFactory, never()).setPoolRetryAttempts(eq(5)); + verify(mockClientCacheFactory, never()).setPoolServerGroup(eq("MockServerGroup")); + verify(mockClientCacheFactory, never()).setPoolSocketBufferSize(eq(16384)); + verify(mockClientCacheFactory, never()).setPoolStatisticInterval(eq(1000)); + verify(mockClientCacheFactory, never()).setPoolSubscriptionAckInterval(eq(500)); + verify(mockClientCacheFactory, never()).setPoolSubscriptionEnabled(eq(true)); + verify(mockClientCacheFactory, never()).setPoolSubscriptionMessageTrackingTimeout(eq(15000)); + verify(mockClientCacheFactory, never()).setPoolSubscriptionRedundancy(eq(4)); + verify(mockClientCacheFactory, never()).setPoolThreadLocalConnections(eq(false)); } @Test(expected = BeanInitializationException.class) @@ -397,7 +397,7 @@ public class ClientCacheFactoryBeanTest { } catch (BeanInitializationException expected) { assertTrue(expected.getMessage(), expected.getMessage().startsWith(String.format( - "no Bean of type '%1$s' having name '%2$s' was found; a ClientCache requires a Pool", + "no bean of type '%1$s' having name '%2$s' was found; a ClientCache requires a Pool", Pool.class.getName(), GemfireConstants.DEFAULT_GEMFIRE_POOL_NAME))); assertTrue(String.format("Cause was: %1$s!", ClassUtils.getClassName(expected.getCause())), expected.getCause() instanceof IllegalArgumentException);