diff --git a/src/main/java/org/springframework/data/gemfire/wan/GatewayHubFactoryBean.java b/src/main/java/org/springframework/data/gemfire/wan/GatewayHubFactoryBean.java index b1eb1896..dfdd9b91 100644 --- a/src/main/java/org/springframework/data/gemfire/wan/GatewayHubFactoryBean.java +++ b/src/main/java/org/springframework/data/gemfire/wan/GatewayHubFactoryBean.java @@ -127,6 +127,7 @@ public class GatewayHubFactoryBean extends AbstractWANComponentFactoryBean endpoints; private List listeners; @@ -100,7 +100,6 @@ public class GatewayProxy { return (socketBufferSize != null ? socketBufferSize : Gateway.DEFAULT_SOCKET_BUFFER_SIZE); } - /* public void setSocketReadTimeout(final Integer socketReadTimeout) { this.socketReadTimeout = socketReadTimeout; } @@ -108,7 +107,6 @@ public class GatewayProxy { public Integer getSocketReadTimeout() { return (socketReadTimeout != null ? socketReadTimeout : Gateway.DEFAULT_SOCKET_READ_TIMEOUT); } - */ public static class GatewayEndpoint { diff --git a/src/test/java/org/springframework/data/gemfire/config/GatewayHubNamespaceTest.java b/src/test/java/org/springframework/data/gemfire/config/GatewayHubNamespaceTest.java index b1753d4e..e32815fc 100644 --- a/src/test/java/org/springframework/data/gemfire/config/GatewayHubNamespaceTest.java +++ b/src/test/java/org/springframework/data/gemfire/config/GatewayHubNamespaceTest.java @@ -90,6 +90,25 @@ public class GatewayHubNamespaceTest { @Test public void testGatewayConfiguration() { + // NOTE don't ask!!! From GemFire 7.0.2 source (GatewayImpl.setSocketReadTimeout(..)) ... +/* + public void setSocketReadTimeout(int socketReadTimeout) + { + synchronized (this.controlLock) { + checkRunning(); + getLogger().warning(LocalizedStrings.GatewayImpl_GATEWAY_SOCKET_READ_TIMEOUT_DISABLED); + // do nothing on purpose... + // setSocketReadTimeout is now optional and this impl ignores it + // setSocketReadTimeout was causing too many problems because customers + // kept using too small of a value + } +*/ + // This was changed in GemFire 8 and 8.1 to respect the user specified value (argh!!!). + + final int expectedSocketReadTimeout = + (Boolean.getBoolean(GemfireTestApplicationContextInitializer.GEMFIRE_TEST_RUNNER_DISABLED) + ? Gateway.DEFAULT_SOCKET_READ_TIMEOUT : 75000); + assertNotNull("The 'TestGatewayHub' GatewayHub was not properly initialized!", gatewayHub); assertEquals("localhost", gatewayHub.getBindAddress()); assertEquals("TestGatewayHub", gatewayHub.getId()); @@ -112,7 +131,7 @@ public class GatewayHubNamespaceTest { assertEquals(8, gatewayOne.getConcurrencyLevel()); assertEquals(Gateway.OrderPolicy.THREAD, gatewayOne.getOrderPolicy()); assertEquals(65536, gatewayOne.getSocketBufferSize()); - //assertEquals(75000, gatewayOne.getSocketReadTimeout()); + assertEquals(expectedSocketReadTimeout, gatewayOne.getSocketReadTimeout()); assertTrue(gatewayOne.getEndpoints() == null || gatewayOne.getEndpoints().isEmpty()); List gatewayEventListeners = gatewayOne.getListeners(); diff --git a/src/test/java/org/springframework/data/gemfire/test/StubCache.java b/src/test/java/org/springframework/data/gemfire/test/StubCache.java index 2b4d0cf1..eb9f452d 100644 --- a/src/test/java/org/springframework/data/gemfire/test/StubCache.java +++ b/src/test/java/org/springframework/data/gemfire/test/StubCache.java @@ -117,8 +117,9 @@ public class StubCache implements Cache { private HashMap allRegions; - public StubCache(){ + public StubCache() { this.allRegions = new HashMap(); + this.gatewayHubs = new ArrayList(); } /* (non-Javadoc) diff --git a/src/test/java/org/springframework/data/gemfire/wan/GatewayHubFactoryBeanTest.java b/src/test/java/org/springframework/data/gemfire/wan/GatewayHubFactoryBeanTest.java index c70f0243..13619355 100644 --- a/src/test/java/org/springframework/data/gemfire/wan/GatewayHubFactoryBeanTest.java +++ b/src/test/java/org/springframework/data/gemfire/wan/GatewayHubFactoryBeanTest.java @@ -196,7 +196,7 @@ public class GatewayHubFactoryBeanTest { gatewayProxy.setOrderPolicy(" thReAD "); gatewayProxy.setQueue(gatewayQueue); gatewayProxy.setSocketBufferSize(16384); - //gatewayProxy.setSocketReadTimeout(300); + gatewayProxy.setSocketReadTimeout(300); GatewayHub mockGatewayHub = mock(GatewayHub.class, "testDoInit.MockGatewayHub"); @@ -215,7 +215,6 @@ public class GatewayHubFactoryBeanTest { factoryBean.setBindAddress("10.124.210.42"); factoryBean.setGateways(Arrays.asList(gatewayProxy)); factoryBean.setManualStart(false); - //factoryBean.setMaxConnections(50); factoryBean.setMaximumTimeBetweenPings(20480); factoryBean.setName(gatewayHubName); factoryBean.setPort(8484); @@ -225,7 +224,6 @@ public class GatewayHubFactoryBeanTest { verify(mockGatewayHub, times(1)).setBindAddress(eq("10.124.210.42")); verify(mockGatewayHub, times(1)).setManualStart(eq(false)); - //verify(mockGatewayHub, times(1)).setMaxConnections(eq(50)); verify(mockGatewayHub, times(1)).setMaximumTimeBetweenPings(eq(20480)); verify(mockGatewayHub, times(1)).setSocketBufferSize(eq(4096)); verify(mockGatewayHub, times(1)).setStartupPolicy(eq("primary")); @@ -238,7 +236,7 @@ public class GatewayHubFactoryBeanTest { verify(mockGateway, times(1)).addListener(same(mockGatewayListener)); verify(mockGateway, times(1)).setOrderPolicy(eq(Gateway.OrderPolicy.THREAD)); verify(mockGateway, times(1)).setSocketBufferSize(eq(gatewayProxy.getSocketBufferSize())); - //verify(mockGateway, times(1)).setSocketReadTimeout(eq(gatewayProxy.getSocketReadTimeout())); + verify(mockGateway, times(1)).setSocketReadTimeout(eq(gatewayProxy.getSocketReadTimeout())); verify(mockGateway, times(1)).getQueueAttributes(); verify(mockGatewayQueueAttributes, times(1)).setAlertThreshold(eq(gatewayQueue.getAlertThreshold())); verify(mockGatewayQueueAttributes, times(1)).setBatchConflation(eq(gatewayQueue.getEnableBatchConflation())); @@ -327,7 +325,7 @@ public class GatewayHubFactoryBeanTest { gatewayProxy.setOrderPolicy(" thREAD "); gatewayProxy.setQueue(gatewayQueue); gatewayProxy.setSocketBufferSize(4096); - //gatewayProxy.setSocketReadTimeout(60); + gatewayProxy.setSocketReadTimeout(60); GatewayHub mockGatewayHub = mock(GatewayHub.class, "testGatewayQueueWithOverflowNoPersistence.MockGatewayHub"); @@ -357,7 +355,7 @@ public class GatewayHubFactoryBeanTest { verify(mockGatewayHub, times(1)).addGateway(eq(gatewayProxy.getId()), eq(gatewayProxy.getConcurrencyLevel())); verify(mockGateway, times(1)).setOrderPolicy(eq(Gateway.OrderPolicy.THREAD)); verify(mockGateway, times(1)).setSocketBufferSize(eq(gatewayProxy.getSocketBufferSize())); - //verify(mockGateway, times(1)).setSocketReadTimeout(eq(gatewayProxy.getSocketReadTimeout())); + verify(mockGateway, times(1)).setSocketReadTimeout(eq(gatewayProxy.getSocketReadTimeout())); verify(mockGatewayQueueAttributes, times(1)).setAlertThreshold(gatewayQueue.getAlertThreshold()); verify(mockGatewayQueueAttributes, times(1)).setBatchConflation(gatewayQueue.getEnableBatchConflation()); verify(mockGatewayQueueAttributes, times(1)).setBatchSize(gatewayQueue.getBatchSize()); diff --git a/src/test/resources/org/springframework/data/gemfire/config/GatewayHubNamespaceTest-context.xml b/src/test/resources/org/springframework/data/gemfire/config/GatewayHubNamespaceTest-context.xml index 648a9936..25a3c21e 100644 --- a/src/test/resources/org/springframework/data/gemfire/config/GatewayHubNamespaceTest-context.xml +++ b/src/test/resources/org/springframework/data/gemfire/config/GatewayHubNamespaceTest-context.xml @@ -28,8 +28,8 @@ - - +