diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/AnnotationMethodPostProcessor.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/AnnotationMethodPostProcessor.java index ef842de69b..9fd29dac19 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/AnnotationMethodPostProcessor.java +++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/AnnotationMethodPostProcessor.java @@ -16,7 +16,7 @@ package org.springframework.integration.config.annotation; -import org.springframework.integration.endpoint.MessageEndpoint; +import org.springframework.integration.endpoint.AbstractEndpoint; /** * Strategy interface for post-processing annotated methods. @@ -27,7 +27,6 @@ public interface AnnotationMethodPostProcessor { Object postProcess(Object bean, String beanName, Class originalBeanClass); - MessageEndpoint createEndpoint(Object bean, String beanName, Class originalBeanClass, - org.springframework.integration.annotation.MessageEndpoint endpointAnnotation); + AbstractEndpoint createEndpoint(Object bean); } diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/HandlerAnnotationPostProcessor.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/HandlerAnnotationPostProcessor.java index 3de487ced3..84c7aa7179 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/HandlerAnnotationPostProcessor.java +++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/HandlerAnnotationPostProcessor.java @@ -37,7 +37,7 @@ import org.springframework.integration.annotation.Splitter; import org.springframework.integration.annotation.Transformer; import org.springframework.integration.bus.MessageBus; import org.springframework.integration.channel.ChannelRegistryAware; -import org.springframework.integration.endpoint.MessageEndpoint; +import org.springframework.integration.endpoint.AbstractEndpoint; import org.springframework.integration.endpoint.DefaultEndpoint; import org.springframework.integration.handler.MessageHandler; import org.springframework.integration.handler.MessageHandlerChain; @@ -124,9 +124,11 @@ public class HandlerAnnotationPostProcessor extends AbstractAnnotationMethodPost return handlerChain; } - public MessageEndpoint createEndpoint(Object bean, String beanName, Class originalBeanClass, - org.springframework.integration.annotation.MessageEndpoint endpointAnnotation) { - return new DefaultEndpoint((MessageHandler) bean); + public AbstractEndpoint createEndpoint(Object bean) { + if (bean instanceof MessageHandler) { + return new DefaultEndpoint((MessageHandler) bean); + } + return null; } } 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 a42a31bc8f..49abc74f93 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 @@ -37,6 +37,7 @@ import org.springframework.integration.channel.ChannelRegistryAware; import org.springframework.integration.channel.MessageChannel; import org.springframework.integration.channel.PollableChannel; import org.springframework.integration.dispatcher.PollingDispatcher; +import org.springframework.integration.endpoint.AbstractEndpoint; import org.springframework.integration.handler.MessageHandler; import org.springframework.integration.message.MessageSource; import org.springframework.integration.message.MessageTarget; @@ -96,8 +97,7 @@ public class MessagingAnnotationPostProcessor implements BeanPostProcessor, Init AnnotationMethodPostProcessor postProcessor = entry.getValue(); bean = postProcessor.postProcess(bean, beanName, beanClass); if (endpointAnnotation != null && entry.getKey().isAssignableFrom(bean.getClass())) { - org.springframework.integration.endpoint.MessageEndpoint endpoint = - postProcessor.createEndpoint(bean, beanName, beanClass, endpointAnnotation); + AbstractEndpoint endpoint = postProcessor.createEndpoint(bean); if (endpoint != null) { endpoint.setBeanName(beanName + "." + entry.getKey().getSimpleName() + ".endpoint"); String inputChannelName = endpointAnnotation.input(); diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/PollableAnnotationPostProcessor.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/PollableAnnotationPostProcessor.java index 5c1b21bd1f..238ce4cfe3 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/PollableAnnotationPostProcessor.java +++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/PollableAnnotationPostProcessor.java @@ -29,8 +29,8 @@ import org.springframework.integration.bus.MessageBus; import org.springframework.integration.channel.DirectChannel; import org.springframework.integration.channel.MessageChannel; import org.springframework.integration.dispatcher.PollingDispatcher; +import org.springframework.integration.endpoint.AbstractEndpoint; import org.springframework.integration.endpoint.InboundChannelAdapter; -import org.springframework.integration.endpoint.MessageEndpoint; import org.springframework.integration.message.MessageSource; import org.springframework.integration.message.MethodInvokingSource; import org.springframework.integration.message.PollableSource; @@ -98,8 +98,7 @@ public class PollableAnnotationPostProcessor extends AbstractAnnotationMethodPos return (results.size() == 1) ? results.get(0) : null; } - public MessageEndpoint createEndpoint(Object bean, String beanName, Class originalBeanClass, - org.springframework.integration.annotation.MessageEndpoint endpointAnnotation) { + public AbstractEndpoint createEndpoint(Object bean) { return null; } diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/TargetAnnotationPostProcessor.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/TargetAnnotationPostProcessor.java index 39b5b44f72..71b496618c 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/TargetAnnotationPostProcessor.java +++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/annotation/TargetAnnotationPostProcessor.java @@ -27,7 +27,7 @@ import org.springframework.integration.bus.MessageBus; import org.springframework.integration.channel.DirectChannel; import org.springframework.integration.channel.MessageChannel; import org.springframework.integration.dispatcher.PollingDispatcher; -import org.springframework.integration.endpoint.MessageEndpoint; +import org.springframework.integration.endpoint.AbstractEndpoint; import org.springframework.integration.endpoint.OutboundChannelAdapter; import org.springframework.integration.handler.MethodInvokingTarget; import org.springframework.integration.message.MessageTarget; @@ -86,8 +86,7 @@ public class TargetAnnotationPostProcessor extends AbstractAnnotationMethodPostP return (results.size() == 1) ? results.get(0) : null; } - public MessageEndpoint createEndpoint(Object bean, String beanName, Class originalBeanClass, - org.springframework.integration.annotation.MessageEndpoint endpointAnnotation) { + public AbstractEndpoint createEndpoint(Object bean) { return null; } diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/endpoint/MessageEndpoint.java b/org.springframework.integration/src/main/java/org/springframework/integration/endpoint/MessageEndpoint.java index ff5cff71a0..9f710412d8 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/endpoint/MessageEndpoint.java +++ b/org.springframework.integration/src/main/java/org/springframework/integration/endpoint/MessageEndpoint.java @@ -29,12 +29,8 @@ public interface MessageEndpoint extends MessageTarget, BeanNameAware { String getName(); - void setSource(MessageSource source); - MessageSource getSource(); - void setTarget(MessageTarget target); - MessageTarget getTarget(); } diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/handler/MethodInvokingTargetTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/handler/MethodInvokingTargetTests.java index cd03132a4a..9fe71d1f55 100644 --- a/org.springframework.integration/src/test/java/org/springframework/integration/handler/MethodInvokingTargetTests.java +++ b/org.springframework.integration/src/test/java/org/springframework/integration/handler/MethodInvokingTargetTests.java @@ -31,8 +31,7 @@ import org.springframework.integration.ConfigurationException; import org.springframework.integration.bus.DefaultMessageBus; import org.springframework.integration.bus.MessageBus; import org.springframework.integration.channel.QueueChannel; -import org.springframework.integration.endpoint.MessageEndpoint; -import org.springframework.integration.endpoint.DefaultEndpoint; +import org.springframework.integration.endpoint.ServiceActivatorEndpoint; import org.springframework.integration.message.GenericMessage; import org.springframework.integration.message.Message; import org.springframework.integration.message.MessagingException; @@ -100,7 +99,7 @@ public class MethodInvokingTargetTests { assertNull(queue.poll()); MessageBus bus = new DefaultMessageBus(); bus.registerChannel(channel); - MessageEndpoint endpoint = new DefaultEndpoint(target); + ServiceActivatorEndpoint endpoint = new ServiceActivatorEndpoint(target); endpoint.setBeanName("testEndpoint"); endpoint.setSource(channel); bus.registerEndpoint(endpoint);