SGF-415 - Remove the ClientCacheFactory Pool configuration in ClientCacheFactoryBean.
(cherry picked from commit dd572d0b36d6c2b2d05636756c4291a1f4d31867) Signed-off-by: John Blum <jblum@pivotal.io>
This commit is contained in:
@@ -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...
|
||||
*
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user