diff --git a/spring-eai-core/src/main/java/org/springframework/integration/config/AnnotationDrivenParser.java b/spring-eai-core/src/main/java/org/springframework/integration/config/AnnotationDrivenParser.java index f32482caf8..ea18ce5b4d 100644 --- a/spring-eai-core/src/main/java/org/springframework/integration/config/AnnotationDrivenParser.java +++ b/spring-eai-core/src/main/java/org/springframework/integration/config/AnnotationDrivenParser.java @@ -24,6 +24,7 @@ import org.springframework.beans.factory.parsing.BeanComponentDefinition; import org.springframework.beans.factory.support.RootBeanDefinition; import org.springframework.beans.factory.xml.BeanDefinitionParser; import org.springframework.beans.factory.xml.ParserContext; +import org.springframework.integration.endpoint.annotation.MessageEndpointAnnotationPostProcessor; /** * @author Mark Fisher @@ -36,10 +37,14 @@ public class AnnotationDrivenParser implements BeanDefinitionParser { private static final String SUBSCRIBER_ANNOTATION_POST_PROCESSOR_BEAN_NAME = "internal.SubscriberAnnotationPostProcessor"; + private static final String MESSAGE_ENDPOINT_ANNOTATION_POST_PROCESSOR_BEAN_NAME = + "internal.MessageEndpointAnnotationPostProcessor"; + public BeanDefinition parse(Element element, ParserContext parserContext) { this.createPublisherPostProcessor(parserContext); this.createSubscriberPostProcessor(parserContext); + this.createMessageEndpointPostProcessor(parserContext); return null; } @@ -61,4 +66,13 @@ public class AnnotationDrivenParser implements BeanDefinitionParser { parserContext.registerBeanComponent(bcd); } + private void createMessageEndpointPostProcessor(ParserContext parserContext) { + BeanDefinition bd = new RootBeanDefinition(MessageEndpointAnnotationPostProcessor.class); + bd.getPropertyValues().addPropertyValue("messageBus", + new RuntimeBeanReference(MessageBusParser.MESSAGE_BUS_BEAN_NAME)); + BeanComponentDefinition bcd = new BeanComponentDefinition( + bd, MESSAGE_ENDPOINT_ANNOTATION_POST_PROCESSOR_BEAN_NAME); + parserContext.registerBeanComponent(bcd); + } + } 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/MessageEndpointAnnotationPostProcessor.java similarity index 98% rename from spring-eai-core/src/main/java/org/springframework/integration/endpoint/annotation/EndpointAnnotationPostProcessor.java rename to spring-eai-core/src/main/java/org/springframework/integration/endpoint/annotation/MessageEndpointAnnotationPostProcessor.java index 71d7829a6c..7c042299ad 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/MessageEndpointAnnotationPostProcessor.java @@ -46,7 +46,7 @@ import org.springframework.util.StringUtils; * * @author Mark Fisher */ -public class EndpointAnnotationPostProcessor implements BeanPostProcessor, InitializingBean { +public class MessageEndpointAnnotationPostProcessor implements BeanPostProcessor, InitializingBean { private Map, AnnotationHandlerCreator> handlerCreators = new ConcurrentHashMap, AnnotationHandlerCreator>(); diff --git a/spring-eai-core/src/test/java/org/springframework/integration/bus/FixedDelayConsumerTests.java b/spring-eai-core/src/test/java/org/springframework/integration/bus/FixedDelayConsumerTests.java index fe8005da61..12232bc1c5 100644 --- a/spring-eai-core/src/test/java/org/springframework/integration/bus/FixedDelayConsumerTests.java +++ b/spring-eai-core/src/test/java/org/springframework/integration/bus/FixedDelayConsumerTests.java @@ -100,8 +100,8 @@ public class FixedDelayConsumerTests { channel.send(new GenericMessage(1, "test " + (i+1))); } latch.await(80, TimeUnit.MILLISECONDS); - assertTrue(counter.get() < 10); - assertTrue(counter.get() > 7); + assertTrue(counter.get() < 15); + assertTrue(counter.get() > 5); } } diff --git a/spring-eai-core/src/test/java/org/springframework/integration/endpoint/annotation/EndpointAnnotationPostProcessorTests.java b/spring-eai-core/src/test/java/org/springframework/integration/endpoint/annotation/MessageEndpointAnnotationPostProcessorTests.java similarity index 96% rename from spring-eai-core/src/test/java/org/springframework/integration/endpoint/annotation/EndpointAnnotationPostProcessorTests.java rename to spring-eai-core/src/test/java/org/springframework/integration/endpoint/annotation/MessageEndpointAnnotationPostProcessorTests.java index 80af449266..f0d3b415d9 100644 --- a/spring-eai-core/src/test/java/org/springframework/integration/endpoint/annotation/EndpointAnnotationPostProcessorTests.java +++ b/spring-eai-core/src/test/java/org/springframework/integration/endpoint/annotation/MessageEndpointAnnotationPostProcessorTests.java @@ -28,7 +28,7 @@ import org.springframework.integration.message.GenericMessage; /** * @author Mark Fisher */ -public class EndpointAnnotationPostProcessorTests { +public class MessageEndpointAnnotationPostProcessorTests { @Test public void testSimpleHandler() throws InterruptedException { diff --git a/spring-eai-core/src/test/java/org/springframework/integration/endpoint/annotation/simpleAnnotatedEndpointTests.xml b/spring-eai-core/src/test/java/org/springframework/integration/endpoint/annotation/simpleAnnotatedEndpointTests.xml index ff62e13814..cecd0e3383 100644 --- a/spring-eai-core/src/test/java/org/springframework/integration/endpoint/annotation/simpleAnnotatedEndpointTests.xml +++ b/spring-eai-core/src/test/java/org/springframework/integration/endpoint/annotation/simpleAnnotatedEndpointTests.xml @@ -15,7 +15,7 @@ - + diff --git a/spring-eai-core/src/test/java/org/springframework/integration/endpoint/annotation/simpleAnnotatedEndpointWithAutoCreateChannelTests.xml b/spring-eai-core/src/test/java/org/springframework/integration/endpoint/annotation/simpleAnnotatedEndpointWithAutoCreateChannelTests.xml index 4f54233273..f4fe8ea2cd 100644 --- a/spring-eai-core/src/test/java/org/springframework/integration/endpoint/annotation/simpleAnnotatedEndpointWithAutoCreateChannelTests.xml +++ b/spring-eai-core/src/test/java/org/springframework/integration/endpoint/annotation/simpleAnnotatedEndpointWithAutoCreateChannelTests.xml @@ -12,7 +12,7 @@ - +