diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/MessagingAnnotationPostProcessor.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/MessagingAnnotationPostProcessor.java index 5add354fc5..5258e5fa4c 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/MessagingAnnotationPostProcessor.java +++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/MessagingAnnotationPostProcessor.java @@ -82,6 +82,9 @@ public class MessagingAnnotationPostProcessor implements BeanPostProcessor, Init Object originalBean = bean; Class beanClass = this.getBeanClass(bean); MessageEndpoint endpointAnnotation = AnnotationUtils.findAnnotation(beanClass, MessageEndpoint.class); + if (endpointAnnotation == null) { + return bean; + } for (Map.Entry, AnnotationMethodPostProcessor> entry : this.postProcessors.entrySet()) { AnnotationMethodPostProcessor postProcessor = entry.getValue(); bean = postProcessor.postProcess(bean, beanName, beanClass); diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/config/annotation/MessagingAnnotationPostProcessorTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/config/annotation/MessagingAnnotationPostProcessorTests.java index 3f3ff20bb6..3f3ff8e848 100644 --- a/org.springframework.integration/src/test/java/org/springframework/integration/config/annotation/MessagingAnnotationPostProcessorTests.java +++ b/org.springframework.integration/src/test/java/org/springframework/integration/config/annotation/MessagingAnnotationPostProcessorTests.java @@ -425,6 +425,7 @@ public class MessagingAnnotationPostProcessorTests { } + @MessageEndpoint @ChannelAdapter("testChannel") private static class TargetAnnotationTestBean { @@ -525,6 +526,7 @@ public class MessagingAnnotationPostProcessorTests { } + @MessageEndpoint private static class HandlerAnnotatedBean { @Handler @@ -542,6 +544,7 @@ public class MessagingAnnotationPostProcessorTests { } + @MessageEndpoint private static class CustomHandlerAnnotatedBean { @CustomHandler @@ -552,6 +555,7 @@ public class MessagingAnnotationPostProcessorTests { } + @MessageEndpoint @ChannelAdapter("testChannel") @Poller(period = 1000, initialDelay = 0, maxMessagesPerPoll = 1) private static class ChannelAdapterAnnotationTestBean { @@ -563,6 +567,7 @@ public class MessagingAnnotationPostProcessorTests { } + @MessageEndpoint private static class HandlerWithTransformers { @Transformer diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/config/annotation/SimpleHandlerTestBean.java b/org.springframework.integration/src/test/java/org/springframework/integration/config/annotation/SimpleHandlerTestBean.java index d60fc91105..9aa64fa97a 100644 --- a/org.springframework.integration/src/test/java/org/springframework/integration/config/annotation/SimpleHandlerTestBean.java +++ b/org.springframework.integration/src/test/java/org/springframework/integration/config/annotation/SimpleHandlerTestBean.java @@ -17,10 +17,12 @@ package org.springframework.integration.config.annotation; import org.springframework.integration.annotation.Handler; +import org.springframework.integration.annotation.MessageEndpoint; /** * @author Mark Fisher */ +@MessageEndpoint public class SimpleHandlerTestBean { @Handler