INT-1758 refactored AbsractPollingEndpoint to remove deopendency on PollerMetadata, fixed tests
This commit is contained in:
@@ -69,7 +69,6 @@ public class ApplicationContextMessageBusTests {
|
||||
handler.setBeanFactory(context);
|
||||
handler.afterPropertiesSet();
|
||||
PollingConsumer endpoint = new PollingConsumer(sourceChannel, handler);
|
||||
endpoint.setPollerMetadata(new PollerMetadata());
|
||||
endpoint.setBeanFactory(mock(BeanFactory.class));
|
||||
context.registerEndpoint("testEndpoint", endpoint);
|
||||
context.refresh();
|
||||
@@ -127,10 +126,8 @@ public class ApplicationContextMessageBusTests {
|
||||
handler1.setOutputChannel(outputChannel1);
|
||||
handler2.setOutputChannel(outputChannel2);
|
||||
PollingConsumer endpoint1 = new PollingConsumer(inputChannel, handler1);
|
||||
endpoint1.setPollerMetadata(new PollerMetadata());
|
||||
endpoint1.setBeanFactory(mock(BeanFactory.class));
|
||||
PollingConsumer endpoint2 = new PollingConsumer(inputChannel, handler2);
|
||||
endpoint2.setPollerMetadata(new PollerMetadata());
|
||||
endpoint2.setBeanFactory(mock(BeanFactory.class));
|
||||
context.registerEndpoint("testEndpoint1", endpoint1);
|
||||
context.registerEndpoint("testEndpoint2", endpoint2);
|
||||
@@ -194,7 +191,6 @@ public class ApplicationContextMessageBusTests {
|
||||
channelAdapter.setSource(new FailingSource(latch));
|
||||
PollerMetadata pollerMetadata = new PollerMetadata();
|
||||
pollerMetadata.setTrigger(new PeriodicTrigger(1000));
|
||||
channelAdapter.setPollerMetadata(pollerMetadata);
|
||||
channelAdapter.setOutputChannel(outputChannel);
|
||||
context.registerEndpoint("testChannel", channelAdapter);
|
||||
context.refresh();
|
||||
@@ -222,7 +218,6 @@ public class ApplicationContextMessageBusTests {
|
||||
}
|
||||
};
|
||||
PollingConsumer endpoint = new PollingConsumer(errorChannel, handler);
|
||||
endpoint.setPollerMetadata(new PollerMetadata());
|
||||
endpoint.setBeanFactory(mock(BeanFactory.class));
|
||||
context.registerEndpoint("testEndpoint", endpoint);
|
||||
context.refresh();
|
||||
|
||||
@@ -17,13 +17,9 @@
|
||||
class="org.springframework.integration.endpoint.PollingConsumer">
|
||||
<constructor-arg ref="sourceChannel" />
|
||||
<constructor-arg ref="serviceActivator" />
|
||||
<property name="pollerMetadata">
|
||||
<bean class="org.springframework.integration.scheduling.PollerMetadata">
|
||||
<property name="trigger">
|
||||
<bean class="org.springframework.scheduling.support.PeriodicTrigger">
|
||||
<constructor-arg value="100" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="trigger">
|
||||
<bean class="org.springframework.scheduling.support.PeriodicTrigger">
|
||||
<constructor-arg value="100" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
@@ -53,7 +53,7 @@ public class InboundChannelAdapterExpressionTests {
|
||||
SourcePollingChannelAdapter adapter = context.getBean("fixedDelayProducer", SourcePollingChannelAdapter.class);
|
||||
assertFalse(adapter.isAutoStartup());
|
||||
DirectFieldAccessor adapterAccessor = new DirectFieldAccessor(adapter);
|
||||
Trigger trigger = TestUtils.getPropertyValue(adapter, "pollerMetadata.trigger", Trigger.class);
|
||||
Trigger trigger = TestUtils.getPropertyValue(adapter, "trigger", Trigger.class);
|
||||
assertEquals(PeriodicTrigger.class, trigger.getClass());
|
||||
DirectFieldAccessor triggerAccessor = new DirectFieldAccessor(trigger);
|
||||
assertEquals(1234L, triggerAccessor.getPropertyValue("period"));
|
||||
@@ -68,7 +68,7 @@ public class InboundChannelAdapterExpressionTests {
|
||||
SourcePollingChannelAdapter adapter = context.getBean("fixedRateProducer", SourcePollingChannelAdapter.class);
|
||||
assertFalse(adapter.isAutoStartup());
|
||||
DirectFieldAccessor adapterAccessor = new DirectFieldAccessor(adapter);
|
||||
Trigger trigger = TestUtils.getPropertyValue(adapter, "pollerMetadata.trigger", Trigger.class);
|
||||
Trigger trigger = TestUtils.getPropertyValue(adapter, "trigger", Trigger.class);
|
||||
assertEquals(PeriodicTrigger.class, trigger.getClass());
|
||||
DirectFieldAccessor triggerAccessor = new DirectFieldAccessor(trigger);
|
||||
assertEquals(5678L, triggerAccessor.getPropertyValue("period"));
|
||||
@@ -83,7 +83,7 @@ public class InboundChannelAdapterExpressionTests {
|
||||
SourcePollingChannelAdapter adapter = context.getBean("cronProducer", SourcePollingChannelAdapter.class);
|
||||
assertFalse(adapter.isAutoStartup());
|
||||
DirectFieldAccessor adapterAccessor = new DirectFieldAccessor(adapter);
|
||||
Trigger trigger = TestUtils.getPropertyValue(adapter, "pollerMetadata.trigger", Trigger.class);
|
||||
Trigger trigger = TestUtils.getPropertyValue(adapter, "trigger", Trigger.class);
|
||||
assertEquals(CronTrigger.class, trigger.getClass());
|
||||
assertEquals("7 6 5 4 3 ?", new DirectFieldAccessor(new DirectFieldAccessor(
|
||||
trigger).getPropertyValue("sequenceGenerator")).getPropertyValue("expression"));
|
||||
@@ -97,7 +97,7 @@ public class InboundChannelAdapterExpressionTests {
|
||||
SourcePollingChannelAdapter adapter = context.getBean("triggerRefProducer", SourcePollingChannelAdapter.class);
|
||||
assertTrue(adapter.isAutoStartup());
|
||||
DirectFieldAccessor adapterAccessor = new DirectFieldAccessor(adapter);
|
||||
Trigger trigger = TestUtils.getPropertyValue(adapter, "pollerMetadata.trigger", Trigger.class);
|
||||
Trigger trigger = TestUtils.getPropertyValue(adapter, "trigger", Trigger.class);
|
||||
assertEquals(context.getBean("customTrigger"), trigger);
|
||||
assertEquals(context.getBean("triggerRefChannel"), adapterAccessor.getPropertyValue("outputChannel"));
|
||||
Expression expression = TestUtils.getPropertyValue(adapter, "source.expression", Expression.class);
|
||||
|
||||
@@ -29,6 +29,7 @@ import java.util.concurrent.TimeUnit;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
||||
import org.springframework.context.support.StaticApplicationContext;
|
||||
import org.springframework.integration.Message;
|
||||
@@ -41,14 +42,12 @@ import org.springframework.integration.handler.AbstractReplyProducingMessageHand
|
||||
import org.springframework.integration.mapping.InboundMessageMapper;
|
||||
import org.springframework.integration.mapping.OutboundMessageMapper;
|
||||
import org.springframework.integration.message.GenericMessage;
|
||||
import org.springframework.integration.scheduling.PollerMetadata;
|
||||
import org.springframework.integration.support.MessageBuilder;
|
||||
import org.springframework.integration.support.channel.ChannelResolutionException;
|
||||
import org.springframework.integration.support.channel.ChannelResolver;
|
||||
import org.springframework.integration.support.converter.SimpleMessageConverter;
|
||||
import org.springframework.integration.test.util.TestUtils;
|
||||
import org.springframework.integration.test.util.TestUtils.TestApplicationContext;
|
||||
import org.springframework.scheduling.support.PeriodicTrigger;
|
||||
|
||||
/**
|
||||
* @author Mark Fisher
|
||||
@@ -65,9 +64,6 @@ public class MessagingTemplateTests {
|
||||
this.requestChannel = new QueueChannel();
|
||||
context.registerChannel("requestChannel", requestChannel);
|
||||
PollingConsumer endpoint = new PollingConsumer(requestChannel, new TestHandler());
|
||||
PollerMetadata pollerMetadata = new PollerMetadata();
|
||||
pollerMetadata.setTrigger(new PeriodicTrigger(10));
|
||||
endpoint.setPollerMetadata(pollerMetadata);
|
||||
context.registerEndpoint("testEndpoint", endpoint);
|
||||
context.refresh();
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ import org.aopalliance.aop.Advice;
|
||||
import org.aopalliance.intercept.MethodInterceptor;
|
||||
import org.aopalliance.intercept.MethodInvocation;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.aop.Advisor;
|
||||
import org.springframework.aop.framework.Advised;
|
||||
import org.springframework.aop.support.DefaultPointcutAdvisor;
|
||||
@@ -37,7 +38,6 @@ import org.springframework.integration.MessageChannel;
|
||||
import org.springframework.integration.core.PollableChannel;
|
||||
import org.springframework.integration.endpoint.PollingConsumer;
|
||||
import org.springframework.integration.message.GenericMessage;
|
||||
import org.springframework.integration.scheduling.PollerMetadata;
|
||||
import org.springframework.integration.test.util.TestUtils;
|
||||
import org.springframework.integration.util.TestTransactionManager;
|
||||
import org.springframework.transaction.IllegalTransactionStateException;
|
||||
@@ -75,8 +75,7 @@ public class PollingTransactionTests {
|
||||
"transactionTests.xml", this.getClass());
|
||||
PollingConsumer advicedPoller = context.getBean("advicedSa", PollingConsumer.class);
|
||||
|
||||
PollerMetadata pollerMetedata = TestUtils.getPropertyValue(advicedPoller, "pollerMetadata",PollerMetadata.class);
|
||||
List<Advice> adviceChain = TestUtils.getPropertyValue(pollerMetedata, "adviceChain",List.class);
|
||||
List<Advice> adviceChain = TestUtils.getPropertyValue(advicedPoller, "adviceChain",List.class);
|
||||
assertEquals(3, adviceChain.size());
|
||||
Runnable poller = TestUtils.getPropertyValue(advicedPoller, "poller", Runnable.class);
|
||||
Callable<?> pollingTask = TestUtils.getPropertyValue(poller, "pollingTask", Callable.class);
|
||||
|
||||
@@ -25,13 +25,13 @@ import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.expression.Expression;
|
||||
import org.springframework.expression.common.LiteralExpression;
|
||||
import org.springframework.expression.spel.standard.SpelExpressionParser;
|
||||
import org.springframework.integration.Message;
|
||||
import org.springframework.integration.channel.QueueChannel;
|
||||
import org.springframework.integration.config.ExpressionFactoryBean;
|
||||
import org.springframework.integration.scheduling.PollerMetadata;
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
|
||||
import org.springframework.scheduling.support.PeriodicTrigger;
|
||||
import org.springframework.util.ErrorHandler;
|
||||
@@ -62,10 +62,8 @@ public class ExpressionEvaluatingMessageSourceIntegrationTests {
|
||||
SourcePollingChannelAdapter adapter = new SourcePollingChannelAdapter();
|
||||
adapter.setSource(source);
|
||||
adapter.setTaskScheduler(scheduler);
|
||||
PollerMetadata pollerMetadata = new PollerMetadata();
|
||||
pollerMetadata.setMaxMessagesPerPoll(3);
|
||||
pollerMetadata.setTrigger(new PeriodicTrigger(60000));
|
||||
adapter.setPollerMetadata(pollerMetadata);
|
||||
adapter.setMaxMessagesPerPoll(3);
|
||||
adapter.setTrigger(new PeriodicTrigger(60000));
|
||||
adapter.setOutputChannel(channel);
|
||||
adapter.setErrorHandler(new ErrorHandler() {
|
||||
public void handleError(Throwable t) {
|
||||
|
||||
@@ -41,7 +41,6 @@ import org.springframework.integration.MessageRejectedException;
|
||||
import org.springframework.integration.core.MessageHandler;
|
||||
import org.springframework.integration.core.PollableChannel;
|
||||
import org.springframework.integration.message.GenericMessage;
|
||||
import org.springframework.integration.scheduling.PollerMetadata;
|
||||
import org.springframework.scheduling.Trigger;
|
||||
import org.springframework.scheduling.TriggerContext;
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
|
||||
@@ -81,9 +80,7 @@ public class PollingConsumerEndpointTests {
|
||||
taskScheduler.setPoolSize(5);
|
||||
endpoint.setErrorHandler(errorHandler);
|
||||
endpoint.setTaskScheduler(taskScheduler);
|
||||
PollerMetadata pollerMetadata = new PollerMetadata();
|
||||
pollerMetadata.setTrigger(trigger);
|
||||
endpoint.setPollerMetadata(pollerMetadata);
|
||||
endpoint.setTrigger(trigger);
|
||||
endpoint.setBeanFactory(mock(BeanFactory.class));
|
||||
endpoint.setReceiveTimeout(-1);
|
||||
endpoint.afterPropertiesSet();
|
||||
@@ -102,10 +99,8 @@ public class PollingConsumerEndpointTests {
|
||||
expect(channelMock.receive()).andReturn(message);
|
||||
expectLastCall();
|
||||
replay(channelMock);
|
||||
PollerMetadata pollerMetadata = new PollerMetadata();
|
||||
pollerMetadata.setMaxMessagesPerPoll(1);
|
||||
pollerMetadata.setTrigger(trigger);
|
||||
endpoint.setPollerMetadata(pollerMetadata);
|
||||
endpoint.setMaxMessagesPerPoll(1);
|
||||
endpoint.setTrigger(trigger);
|
||||
endpoint.start();
|
||||
trigger.await();
|
||||
endpoint.stop();
|
||||
@@ -117,10 +112,8 @@ public class PollingConsumerEndpointTests {
|
||||
public void multipleMessages() {
|
||||
expect(channelMock.receive()).andReturn(message).times(5);
|
||||
replay(channelMock);
|
||||
PollerMetadata pollerMetadata = new PollerMetadata();
|
||||
pollerMetadata.setMaxMessagesPerPoll(5);
|
||||
pollerMetadata.setTrigger(trigger);
|
||||
endpoint.setPollerMetadata(pollerMetadata);
|
||||
endpoint.setMaxMessagesPerPoll(5);
|
||||
endpoint.setTrigger(trigger);
|
||||
endpoint.start();
|
||||
trigger.await();
|
||||
endpoint.stop();
|
||||
@@ -133,10 +126,8 @@ public class PollingConsumerEndpointTests {
|
||||
expect(channelMock.receive()).andReturn(message).times(5);
|
||||
expect(channelMock.receive()).andReturn(null);
|
||||
replay(channelMock);
|
||||
PollerMetadata pollerMetadata = new PollerMetadata();
|
||||
pollerMetadata.setMaxMessagesPerPoll(6);
|
||||
pollerMetadata.setTrigger(trigger);
|
||||
endpoint.setPollerMetadata(pollerMetadata);
|
||||
endpoint.setMaxMessagesPerPoll(6);
|
||||
endpoint.setTrigger(trigger);
|
||||
endpoint.start();
|
||||
trigger.await();
|
||||
endpoint.stop();
|
||||
@@ -169,11 +160,8 @@ public class PollingConsumerEndpointTests {
|
||||
public void droppedMessage_onePerPoll() throws Throwable {
|
||||
expect(channelMock.receive()).andReturn(badMessage).times(1);
|
||||
replay(channelMock);
|
||||
PollerMetadata pollerMetadata = new PollerMetadata();
|
||||
pollerMetadata.setMaxMessagesPerPoll(10);
|
||||
pollerMetadata.setTrigger(trigger);
|
||||
endpoint.setPollerMetadata(pollerMetadata);
|
||||
//endpoint.setErrorHandler(null);
|
||||
endpoint.setMaxMessagesPerPoll(10);
|
||||
endpoint.setTrigger(trigger);
|
||||
endpoint.start();
|
||||
trigger.await();
|
||||
endpoint.stop();
|
||||
@@ -201,10 +189,8 @@ public class PollingConsumerEndpointTests {
|
||||
expectLastCall();
|
||||
replay(channelMock);
|
||||
endpoint.setReceiveTimeout(1);
|
||||
PollerMetadata pollerMetadata = new PollerMetadata();
|
||||
pollerMetadata.setMaxMessagesPerPoll(1);
|
||||
pollerMetadata.setTrigger(trigger);
|
||||
endpoint.setPollerMetadata(pollerMetadata);
|
||||
endpoint.setMaxMessagesPerPoll(1);
|
||||
endpoint.setTrigger(trigger);
|
||||
endpoint.start();
|
||||
trigger.await();
|
||||
endpoint.stop();
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package org.springframework.integration.endpoint;
|
||||
|
||||
import org.springframework.integration.scheduling.PollerMetadata;
|
||||
import org.springframework.scheduling.support.PeriodicTrigger;
|
||||
|
||||
/**
|
||||
@@ -25,9 +24,7 @@ import org.springframework.scheduling.support.PeriodicTrigger;
|
||||
public class PollingEndpointStub extends AbstractPollingEndpoint {
|
||||
|
||||
public PollingEndpointStub() {
|
||||
PollerMetadata pollerMetadata = new PollerMetadata();
|
||||
pollerMetadata.setTrigger(new PeriodicTrigger(500));
|
||||
this.setPollerMetadata(pollerMetadata);
|
||||
this.setTrigger(new PeriodicTrigger(500));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -68,9 +68,7 @@ public class PollingLifecycleTests {
|
||||
}
|
||||
});
|
||||
PollingConsumer consumer = new PollingConsumer(channel, handler);
|
||||
PollerMetadata pollerMetadata = new PollerMetadata();
|
||||
pollerMetadata.setTrigger(new PeriodicTrigger(0));
|
||||
consumer.setPollerMetadata(pollerMetadata);
|
||||
consumer.setTrigger(new PeriodicTrigger(0));
|
||||
consumer.setErrorHandler(errorHandler);
|
||||
consumer.setTaskScheduler(taskScheduler);
|
||||
consumer.setBeanFactory(mock(BeanFactory.class));
|
||||
@@ -111,7 +109,7 @@ public class PollingLifecycleTests {
|
||||
adapter.setTaskScheduler(taskScheduler);
|
||||
adapter.afterPropertiesSet();
|
||||
adapter.start();
|
||||
assertTrue(latch.await(2, TimeUnit.SECONDS));
|
||||
assertTrue(latch.await(20, TimeUnit.SECONDS));
|
||||
assertNotNull(channel.receive(100));
|
||||
adapter.stop();
|
||||
assertNull(channel.receive(1000));
|
||||
|
||||
@@ -12,11 +12,7 @@
|
||||
|
||||
<bean id="testEndpoint"
|
||||
class="org.springframework.integration.endpoint.PollingEndpointStub">
|
||||
<property name="pollerMetadata">
|
||||
<bean class="org.springframework.integration.scheduling.PollerMetadata">
|
||||
<property name="taskExecutor" ref="taskExecutor" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="taskExecutor" ref="taskExecutor" />
|
||||
</bean>
|
||||
|
||||
<task:executor id="taskExecutor" pool-size="1"
|
||||
|
||||
@@ -31,7 +31,6 @@ import org.springframework.integration.MessagingException;
|
||||
import org.springframework.integration.channel.QueueChannel;
|
||||
import org.springframework.integration.endpoint.PollingConsumer;
|
||||
import org.springframework.integration.handler.MethodInvokingMessageHandler;
|
||||
import org.springframework.integration.scheduling.PollerMetadata;
|
||||
import org.springframework.integration.test.util.TestUtils;
|
||||
import org.springframework.integration.test.util.TestUtils.TestApplicationContext;
|
||||
import org.springframework.scheduling.support.PeriodicTrigger;
|
||||
@@ -83,9 +82,7 @@ public class MethodInvokingMessageHandlerTests {
|
||||
assertNull(queue.poll());
|
||||
MethodInvokingMessageHandler handler = new MethodInvokingMessageHandler(testBean, "foo");
|
||||
PollingConsumer endpoint = new PollingConsumer(channel, handler);
|
||||
PollerMetadata pollerMetadata = new PollerMetadata();
|
||||
pollerMetadata.setTrigger(new PeriodicTrigger(10));
|
||||
endpoint.setPollerMetadata(pollerMetadata);
|
||||
endpoint.setTrigger(new PeriodicTrigger(10));
|
||||
context.registerEndpoint("testEndpoint", endpoint);
|
||||
context.refresh();
|
||||
String result = queue.poll(2000, TimeUnit.MILLISECONDS);
|
||||
|
||||
Reference in New Issue
Block a user