From 4fe5e95719b89dbb05bc0a646fc2a39893780f79 Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Sun, 31 Aug 2008 14:26:16 +0000 Subject: [PATCH] SubscriberAnnotationPostProcessor now creates ServiceActivatorEndpoints instead of DefaultEndpoints. --- .../SubscriberAnnotationPostProcessor.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/SubscriberAnnotationPostProcessor.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/SubscriberAnnotationPostProcessor.java index 79b77b1853..6e9d0e8da7 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/SubscriberAnnotationPostProcessor.java +++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/SubscriberAnnotationPostProcessor.java @@ -30,8 +30,8 @@ import org.springframework.integration.ConfigurationException; import org.springframework.integration.annotation.Subscriber; import org.springframework.integration.bus.MessageBus; import org.springframework.integration.channel.MessageChannel; -import org.springframework.integration.endpoint.DefaultEndpoint; -import org.springframework.integration.handler.DefaultMessageHandler; +import org.springframework.integration.endpoint.ServiceActivatorEndpoint; +import org.springframework.integration.message.MessageMappingMethodInvoker; import org.springframework.util.Assert; import org.springframework.util.ClassUtils; import org.springframework.util.ReflectionUtils; @@ -92,13 +92,11 @@ public class SubscriberAnnotationPostProcessor implements BeanPostProcessor { if (!StringUtils.hasText(channelName)) { throw new ConfigurationException("no channel name provided for subscriber"); } - DefaultMessageHandler handler = new DefaultMessageHandler(); - handler.setObject(bean); - handler.setMethod(method); - handler.afterPropertiesSet(); + MessageMappingMethodInvoker invoker = new MessageMappingMethodInvoker(bean, method); + invoker.afterPropertiesSet(); String endpointName = ClassUtils.getShortNameAsProperty(targetClass) + "." + method.getName() + ".endpoint"; - DefaultEndpoint endpoint = new DefaultEndpoint(handler); + ServiceActivatorEndpoint endpoint = new ServiceActivatorEndpoint(invoker); endpoint.setBeanName(endpointName); MessageChannel inputChannel = messageBus.lookupChannel(channelName); if (inputChannel == null) {