diff --git a/spring-eai-core/src/main/java/org/springframework/integration/endpoint/annotation/EndpointAnnotationPostProcessor.java b/spring-eai-core/src/main/java/org/springframework/integration/endpoint/annotation/EndpointAnnotationPostProcessor.java index c2902d022d..71d7829a6c 100644 --- a/spring-eai-core/src/main/java/org/springframework/integration/endpoint/annotation/EndpointAnnotationPostProcessor.java +++ b/spring-eai-core/src/main/java/org/springframework/integration/endpoint/annotation/EndpointAnnotationPostProcessor.java @@ -112,6 +112,13 @@ public class EndpointAnnotationPostProcessor implements BeanPostProcessor, Initi String channelName = beanName + "-inputChannel"; messageBus.registerChannel(channelName, adapter); endpoint.setInputChannelName(channelName); + int period = ((Polled) annotation).period(); + endpoint.getConsumerPolicy().setPeriod(period); + if (period > 0) { + endpoint.getConsumerPolicy().setConcurrency(1); + endpoint.getConsumerPolicy().setMaxConcurrency(1); + endpoint.getConsumerPolicy().setMaxMessagesPerTask(1); + } return; } }