diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/endpoint/AbstractPollingEndpoint.java b/org.springframework.integration/src/main/java/org/springframework/integration/endpoint/AbstractPollingEndpoint.java
index 77c1e9548b..0fb1256c33 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/endpoint/AbstractPollingEndpoint.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/endpoint/AbstractPollingEndpoint.java
@@ -28,7 +28,6 @@ import org.springframework.beans.factory.InitializingBean;
import org.springframework.core.task.TaskExecutor;
import org.springframework.integration.channel.BeanFactoryChannelResolver;
import org.springframework.integration.channel.MessagePublishingErrorHandler;
-import org.springframework.integration.scheduling.IntervalTrigger;
import org.springframework.integration.scheduling.Trigger;
import org.springframework.integration.util.ErrorHandler;
import org.springframework.integration.util.ErrorHandlingTaskExecutor;
@@ -137,9 +136,7 @@ public abstract class AbstractPollingEndpoint extends AbstractEndpoint implement
if (this.initialized) {
return;
}
- if (this.trigger == null) {
- this.trigger = new IntervalTrigger(10);
- }
+ Assert.notNull(this.trigger, "trigger is required");
if (this.transactionManager != null) {
if (this.transactionDefinition == null) {
this.transactionDefinition = new DefaultTransactionDefinition();
diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/gateway/AbstractMessagingGateway.java b/org.springframework.integration/src/main/java/org/springframework/integration/gateway/AbstractMessagingGateway.java
index f218f49f95..9527f994df 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/gateway/AbstractMessagingGateway.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/gateway/AbstractMessagingGateway.java
@@ -31,6 +31,7 @@ import org.springframework.integration.handler.ReplyMessageHolder;
import org.springframework.integration.message.ErrorMessage;
import org.springframework.integration.message.MessageHandler;
import org.springframework.integration.message.MessageDeliveryException;
+import org.springframework.integration.scheduling.IntervalTrigger;
import org.springframework.util.Assert;
/**
@@ -178,6 +179,7 @@ public abstract class AbstractMessagingGateway extends AbstractEndpoint implemen
else if (this.replyChannel instanceof PollableChannel) {
PollingConsumer endpoint = new PollingConsumer(
(PollableChannel) this.replyChannel, handler);
+ endpoint.setTrigger(new IntervalTrigger(10));
endpoint.setBeanFactory(this.getBeanFactory());
endpoint.afterPropertiesSet();
correlator = endpoint;
diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/bus/messageBusTests.xml b/org.springframework.integration/src/test/java/org/springframework/integration/bus/messageBusTests.xml
index 37e106e047..4cc7a2b5f2 100644
--- a/org.springframework.integration/src/test/java/org/springframework/integration/bus/messageBusTests.xml
+++ b/org.springframework.integration/src/test/java/org/springframework/integration/bus/messageBusTests.xml
@@ -16,6 +16,11 @@
+
+
+
+
+
diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/channel/MessageChannelTemplateTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/channel/MessageChannelTemplateTests.java
index 0248617913..dd14399f0f 100644
--- a/org.springframework.integration/src/test/java/org/springframework/integration/channel/MessageChannelTemplateTests.java
+++ b/org.springframework.integration/src/test/java/org/springframework/integration/channel/MessageChannelTemplateTests.java
@@ -37,6 +37,7 @@ import org.springframework.integration.handler.AbstractReplyProducingMessageHand
import org.springframework.integration.handler.ReplyMessageHolder;
import org.springframework.integration.message.MessageBuilder;
import org.springframework.integration.message.StringMessage;
+import org.springframework.integration.scheduling.IntervalTrigger;
import org.springframework.integration.util.TestUtils;
import org.springframework.integration.util.TestUtils.TestApplicationContext;
@@ -61,6 +62,7 @@ public class MessageChannelTemplateTests {
}
};
PollingConsumer endpoint = new PollingConsumer(requestChannel, handler);
+ endpoint.setTrigger(new IntervalTrigger(10));
context.registerEndpoint("testEndpoint", endpoint);
context.refresh();
}
diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/endpoint/PollingEndpointStub.java b/org.springframework.integration/src/test/java/org/springframework/integration/endpoint/PollingEndpointStub.java
index fbe2b4bb31..b353d5ed29 100644
--- a/org.springframework.integration/src/test/java/org/springframework/integration/endpoint/PollingEndpointStub.java
+++ b/org.springframework.integration/src/test/java/org/springframework/integration/endpoint/PollingEndpointStub.java
@@ -16,11 +16,17 @@
package org.springframework.integration.endpoint;
+import org.springframework.integration.scheduling.IntervalTrigger;
+
/**
* @author Jonas Partner
*/
public class PollingEndpointStub extends AbstractPollingEndpoint {
+ public PollingEndpointStub() {
+ this.setTrigger(new IntervalTrigger(500));
+ }
+
@Override
protected boolean doPoll() {
throw new RuntimeException("intentional test failure");
diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/message/MethodInvokingMessageHandlerTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/message/MethodInvokingMessageHandlerTests.java
index 2a34ac18a8..6ae9d8d3bb 100644
--- a/org.springframework.integration/src/test/java/org/springframework/integration/message/MethodInvokingMessageHandlerTests.java
+++ b/org.springframework.integration/src/test/java/org/springframework/integration/message/MethodInvokingMessageHandlerTests.java
@@ -31,6 +31,7 @@ import org.springframework.integration.core.Message;
import org.springframework.integration.core.MessagingException;
import org.springframework.integration.endpoint.PollingConsumer;
import org.springframework.integration.handler.MethodInvokingMessageHandler;
+import org.springframework.integration.scheduling.IntervalTrigger;
import org.springframework.integration.util.TestUtils;
import org.springframework.integration.util.TestUtils.TestApplicationContext;
@@ -80,6 +81,7 @@ public class MethodInvokingMessageHandlerTests {
assertNull(queue.poll());
MethodInvokingMessageHandler handler = new MethodInvokingMessageHandler(testBean, "foo");
PollingConsumer endpoint = new PollingConsumer(channel, handler);
+ endpoint.setTrigger(new IntervalTrigger(10));
context.registerEndpoint("testEndpoint", endpoint);
context.refresh();
String result = queue.poll(1000, TimeUnit.MILLISECONDS);
diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/util/TestUtils.java b/org.springframework.integration/src/test/java/org/springframework/integration/util/TestUtils.java
index bc231d2581..83fa03336b 100644
--- a/org.springframework.integration/src/test/java/org/springframework/integration/util/TestUtils.java
+++ b/org.springframework.integration/src/test/java/org/springframework/integration/util/TestUtils.java
@@ -29,6 +29,8 @@ import org.springframework.context.support.GenericApplicationContext;
import org.springframework.integration.context.IntegrationContextUtils;
import org.springframework.integration.core.MessageChannel;
import org.springframework.integration.endpoint.AbstractEndpoint;
+import org.springframework.integration.endpoint.AbstractPollingEndpoint;
+import org.springframework.integration.scheduling.IntervalTrigger;
import org.springframework.integration.scheduling.SimpleTaskScheduler;
import org.springframework.integration.scheduling.TaskScheduler;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
@@ -128,6 +130,12 @@ public abstract class TestUtils {
}
public void registerEndpoint(String endpointName, AbstractEndpoint endpoint) {
+ if (endpoint instanceof AbstractPollingEndpoint) {
+ DirectFieldAccessor accessor = new DirectFieldAccessor(endpoint);
+ if (accessor.getPropertyValue("trigger") == null) {
+ ((AbstractPollingEndpoint) endpoint).setTrigger(new IntervalTrigger(10));
+ }
+ }
registerBean(endpointName, endpoint, this);
}
}