SGF-124 fixed gateway port, startup, and disk config

This commit is contained in:
David Turanski
2012-09-12 15:33:51 -04:00
parent 1f0ae2b2ef
commit 0020362b6e
4 changed files with 37 additions and 28 deletions

View File

@@ -98,9 +98,10 @@ public class RegionFactoryBean<K, V> extends RegionLookupFactoryBean<K, V> imple
Cache c = (Cache) cache;
if (attributes != null)
if (attributes != null) {
AttributesFactory.validateAttributes(attributes);
}
final RegionFactory<K, V> regionFactory = (attributes != null ? c.createRegionFactory(attributes) : c
.<K, V> createRegionFactory());
@@ -110,12 +111,11 @@ public class RegionFactoryBean<K, V> extends RegionLookupFactoryBean<K, V> imple
regionFactory.setGatewayHubId(hubId);
}
if (enableGateway != null) {
if (enableGateway) {
Assert.notNull(hubId, "enableGateway requires the hubId property to be true");
}
if (enableGateway !=null) {
regionFactory.setEnableGateway(enableGateway);
}
if (!ObjectUtils.isEmpty(cacheListeners)) {
for (CacheListener<K, V> listener : cacheListeners) {
regionFactory.addCacheListener(listener);
@@ -129,17 +129,19 @@ public class RegionFactoryBean<K, V> extends RegionLookupFactoryBean<K, V> imple
if (cacheWriter != null) {
regionFactory.setCacheWriter(cacheWriter);
}
if (diskStoreName != null) {
regionFactory.setDiskStoreName(diskStoreName);
Assert.isTrue(!isNotPersistent(),"it is invalid to specify a disk store if 'persistent' is set to false.");
persistent = true;
}
resolveDataPolicy(regionFactory, persistent, dataPolicy);
if (scope != null) {
regionFactory.setScope(scope);
}
if (diskStoreName != null) {
regionFactory.setDiskStoreName(diskStoreName);
}
if (attributes != null) {
Assert.state(!attributes.isLockGrantor() || scope.isGlobal(),
"Lock grantor only applies to a global scoped region");

View File

@@ -49,6 +49,8 @@ class GatewayHubParser extends AbstractSimpleBeanDefinitionParser {
ParsingUtils.setPropertyValue(element, builder, "manual-start");
ParsingUtils.setPropertyValue(element, builder, "socket-buffer-size");
ParsingUtils.setPropertyValue(element, builder, "startup-policy");
ParsingUtils.setPropertyValue(element, builder, "port");
List<Element> gatewayElements = DomUtils.getChildElementsByTagName(element, "gateway");
if (!CollectionUtils.isEmpty(gatewayElements)) {
ManagedList gateways = new ManagedList();
@@ -90,8 +92,17 @@ class GatewayHubParser extends AbstractSimpleBeanDefinitionParser {
ParsingUtils.setPropertyValue(gatewayQueueElement, queueBuilder, "maximum-queue-memory");
ParsingUtils.setPropertyValue(gatewayQueueElement, queueBuilder, "persistent");
ParsingUtils.setPropertyValue(gatewayQueueElement, queueBuilder, "disk-store-ref");
/*
* Make sure any disk store is created first
*/
if (gatewayQueueElement.hasAttribute("disk-store-ref")) {
gatewayBuilder.getBeanDefinition().setDependsOn(
new String[] {gatewayQueueElement.getAttribute("disk-store-ref")});
}
ParsingUtils.setPropertyValue(gatewayQueueElement, queueBuilder, "enable-batch-conflation");
gatewayBuilder.addPropertyValue("queue", queueBuilder.getBeanDefinition());
}
gateways.add(gatewayBuilder.getBeanDefinition());
}

View File

@@ -15,6 +15,7 @@
*/
package org.springframework.data.gemfire.wan;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
@@ -82,7 +83,7 @@ public class GatewayHubFactoryBean extends AbstractWANComponentFactoryBean<Gatew
}
Assert.notNull(cache.getGatewayHub(name));
if (bindAddress != null) {
gatewayHub.setBindAddress(bindAddress);
}
@@ -123,9 +124,6 @@ public class GatewayHubFactoryBean extends AbstractWANComponentFactoryBean<Gatew
if (gateway.getSocketBufferSize() != null) {
gw.setSocketBufferSize(gateway.getSocketBufferSize());
}
if (gateway.getSocketReadTimeout() != null) {
gw.setSocketReadTimeout(gateway.getSocketReadTimeout());
}
if (gateway.getQueue() != null) {
GatewayQueue queue = gateway.getQueue();
@@ -158,6 +156,13 @@ public class GatewayHubFactoryBean extends AbstractWANComponentFactoryBean<Gatew
}
}
}
if (gatewayHub.getManualStart() == false) {
try {
gatewayHub.start();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
public void setPort(Integer port) {

View File

@@ -17,6 +17,7 @@ package org.springframework.data.gemfire.wan;
import java.util.List;
import com.gemstone.gemfire.cache.util.Gateway;
import com.gemstone.gemfire.cache.util.GatewayEventListener;
/**
@@ -30,7 +31,7 @@ public class GatewayProxy {
private List<GatewayEndpoint> endpoints;
private Integer concurrencyLevel;
private Integer concurrencyLevel = Gateway.DEFAULT_CONCURRENCY_LEVEL;
private String id;
@@ -38,9 +39,7 @@ public class GatewayProxy {
private String orderPolicy;
private int socketBufferSize;
private int socketReadTimeout;
private int socketBufferSize = Gateway.DEFAULT_SOCKET_BUFFER_SIZE;
private GatewayQueue queue;
@@ -83,11 +82,7 @@ public class GatewayProxy {
public Integer getSocketBufferSize() {
return this.socketBufferSize;
}
public Integer getSocketReadTimeout() {
return this.socketReadTimeout;
}
public void setId(String id) {
this.id = id;
}
@@ -101,10 +96,6 @@ public class GatewayProxy {
}
public void setSocketReadTimeout(int socketReadTimeout) {
this.socketReadTimeout = socketReadTimeout;
}
public static class GatewayEndpoint {
private String host;