From b4bfda1b9b00f9917ab5f985a2d96af6f1695d9d Mon Sep 17 00:00:00 2001 From: David Turanski Date: Fri, 25 Jan 2013 12:51:52 -0500 Subject: [PATCH] removed SmartLifecycleGatewaySender and added SmartLifecycle to GatewaySenderFactoryBean --- .../data/gemfire/RegionFactoryBean.java | 8 +- .../gemfire/config/AsyncEventQueueParser.java | 6 + .../gemfire/wan/GatewaySenderFactoryBean.java | 59 +++- .../wan/SmartLifecycleGatewaySender.java | 277 ------------------ 4 files changed, 65 insertions(+), 285 deletions(-) delete mode 100644 src/main/java/org/springframework/data/gemfire/wan/SmartLifecycleGatewaySender.java diff --git a/src/main/java/org/springframework/data/gemfire/RegionFactoryBean.java b/src/main/java/org/springframework/data/gemfire/RegionFactoryBean.java index 3edcd1ee..c7676a67 100644 --- a/src/main/java/org/springframework/data/gemfire/RegionFactoryBean.java +++ b/src/main/java/org/springframework/data/gemfire/RegionFactoryBean.java @@ -24,7 +24,6 @@ import org.springframework.beans.factory.DisposableBean; import org.springframework.context.SmartLifecycle; import org.springframework.core.io.Resource; import org.springframework.data.gemfire.client.ClientRegionFactoryBean; -import org.springframework.data.gemfire.wan.SmartLifecycleGatewaySender; import org.springframework.util.Assert; import org.springframework.util.ObjectUtils; import org.springframework.util.ReflectionUtils; @@ -425,8 +424,8 @@ public class RegionFactoryBean extends RegionLookupFactoryBean imple if (!ObjectUtils.isEmpty(gatewaySenders)) { synchronized (gatewaySenders) { for (Object obj : gatewaySenders) { - SmartLifecycleGatewaySender gws = (SmartLifecycleGatewaySender) obj; - if (gws.isAutoStartup() && !gws.isRunning()) { + GatewaySender gws = (GatewaySender) obj; + if (!gws.isManualStart() && !gws.isRunning()) { gws.start(); } } @@ -443,7 +442,7 @@ public class RegionFactoryBean extends RegionLookupFactoryBean imple if (!ObjectUtils.isEmpty(gatewaySenders)) { synchronized (gatewaySenders) { for (Object obj : gatewaySenders) { - SmartLifecycleGatewaySender gws = (SmartLifecycleGatewaySender) obj; + GatewaySender gws = (GatewaySender) obj; gws.stop(); } } @@ -483,5 +482,4 @@ public class RegionFactoryBean extends RegionLookupFactoryBean imple stop(); callback.run(); } - } diff --git a/src/main/java/org/springframework/data/gemfire/config/AsyncEventQueueParser.java b/src/main/java/org/springframework/data/gemfire/config/AsyncEventQueueParser.java index 87601297..216b2bd0 100644 --- a/src/main/java/org/springframework/data/gemfire/config/AsyncEventQueueParser.java +++ b/src/main/java/org/springframework/data/gemfire/config/AsyncEventQueueParser.java @@ -49,6 +49,12 @@ public class AsyncEventQueueParser extends AbstractSingleBeanDefinitionParser { ParsingUtils.setPropertyValue(element, builder, "batch-size"); ParsingUtils.setPropertyValue(element, builder, "maximum-queue-memory"); ParsingUtils.setPropertyValue(element, builder, "disk-store-ref"); + + String diskStoreRef = element.getAttribute("disk-store-ref"); + if (StringUtils.hasText(diskStoreRef)) { + builder.addDependsOn(diskStoreRef); + } + ParsingUtils.setPropertyValue(element, builder, "persistent"); ParsingUtils.setPropertyValue(element, builder, "parallel"); ParsingUtils.setPropertyValue(element, builder, NAME_ATTRIBUTE); diff --git a/src/main/java/org/springframework/data/gemfire/wan/GatewaySenderFactoryBean.java b/src/main/java/org/springframework/data/gemfire/wan/GatewaySenderFactoryBean.java index d4fc3e15..af83f0f1 100644 --- a/src/main/java/org/springframework/data/gemfire/wan/GatewaySenderFactoryBean.java +++ b/src/main/java/org/springframework/data/gemfire/wan/GatewaySenderFactoryBean.java @@ -18,6 +18,7 @@ package org.springframework.data.gemfire.wan; import java.util.Arrays; import java.util.List; +import org.springframework.context.SmartLifecycle; import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; @@ -33,7 +34,8 @@ import com.gemstone.gemfire.cache.wan.GatewayTransportFilter; * @author David Turanski * */ -public class GatewaySenderFactoryBean extends AbstractWANComponentFactoryBean { +public class GatewaySenderFactoryBean extends AbstractWANComponentFactoryBean +implements SmartLifecycle { private static List validOrderPolicyValues = Arrays.asList("KEY", "PARTITION", "THREAD"); private GatewaySender gatewaySender; @@ -82,12 +84,12 @@ public class GatewaySenderFactoryBean extends AbstractWANComponentFactoryBean getObjectType() { - return SmartLifecycleGatewaySender.class; + return GatewaySender.class; } @Override @@ -233,4 +235,55 @@ public class GatewaySenderFactoryBean extends AbstractWANComponentFactoryBean getGatewayEventFilters() { - return this.delegate.getGatewayEventFilters(); - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#getGatewayTransportFilters() - */ - @Override - public List getGatewayTransportFilters() { - return this.delegate.getGatewayTransportFilters(); - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#getId() - */ - @Override - public String getId() { - return this.delegate.getId(); - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#getMaximumQueueMemory() - */ - @Override - public int getMaximumQueueMemory() { - return this.delegate.getMaximumQueueMemory(); - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#getOrderPolicy() - */ - @Override - public OrderPolicy getOrderPolicy() { - return this.delegate.getOrderPolicy(); - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#getRemoteDSId() - */ - @Override - public int getRemoteDSId() { - return this.delegate.getRemoteDSId(); - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#getSocketBufferSize() - */ - @Override - public int getSocketBufferSize() { - return this.delegate.getSocketBufferSize(); - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#getSocketReadTimeout() - */ - @Override - public int getSocketReadTimeout() { - return this.delegate.getSocketReadTimeout(); - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#isBatchConflationEnabled() - */ - @Override - public boolean isBatchConflationEnabled() { - return this.delegate.isBatchConflationEnabled(); - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#isDiskSynchronous() - */ - @Override - public boolean isDiskSynchronous() { - return this.delegate.isDiskSynchronous(); - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#isManualStart() - */ - @Override - public boolean isManualStart() { - return true; - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#isParallel() - */ - @Override - public boolean isParallel() { - return this.delegate.isParallel(); - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#isPaused() - */ - @Override - public boolean isPaused() { - return this.delegate.isPaused(); - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#isPersistenceEnabled() - */ - @Override - public boolean isPersistenceEnabled() { - return this.delegate.isPersistenceEnabled(); - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#isRunning() - */ - @Override - public boolean isRunning() { - return this.delegate.isRunning(); - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#pause() - */ - @Override - public void pause() { - this.delegate.pause(); - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#removeGatewayEventFilter(com.gemstone.gemfire.cache.wan.GatewayEventFilter) - */ - @Override - public void removeGatewayEventFilter(GatewayEventFilter eventFilter) { - this.delegate.removeGatewayEventFilter(eventFilter); - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#resume() - */ - @Override - public void resume() { - this.delegate.resume(); - - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#start() - */ - @Override - public void start() { - this.delegate.start(); - - } - - /* (non-Javadoc) - * @see com.gemstone.gemfire.cache.wan.GatewaySender#stop() - */ - @Override - public void stop() { - this.delegate.stop(); - } - - /* (non-Javadoc) - * @see org.springframework.context.Phased#getPhase() - */ - @Override - public int getPhase() { - return Integer.MAX_VALUE; - } - - /* (non-Javadoc) - * @see org.springframework.context.SmartLifecycle#isAutoStartup() - */ - @Override - public boolean isAutoStartup() { - return this.autoStartup ; - } - - /* (non-Javadoc) - * @see org.springframework.context.SmartLifecycle#stop(java.lang.Runnable) - */ - @Override - public void stop(Runnable callback) { - stop(); - callback.run(); - } - -}