MessagingAnnotationPostProcessor now requires the class-level @MessageEndpoint annotation.

This commit is contained in:
Mark Fisher
2008-08-28 18:25:15 +00:00
parent 023bf6cbd8
commit 62c7439960
3 changed files with 10 additions and 0 deletions

View File

@@ -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<Class<?>, AnnotationMethodPostProcessor> entry : this.postProcessors.entrySet()) {
AnnotationMethodPostProcessor postProcessor = entry.getValue();
bean = postProcessor.postProcess(bean, beanName, beanClass);

View File

@@ -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

View File

@@ -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