The MessageEndpoint interface no longer includes setters for 'source' and 'target'. AbstractEndpoint provides the setters, and the interface only defines the getters.

This commit is contained in:
Mark Fisher
2008-08-31 15:52:42 +00:00
parent 4fe5e95719
commit 5419a0b1d3
7 changed files with 16 additions and 22 deletions

View File

@@ -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);
}

View File

@@ -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>((MessageHandler) bean);
public AbstractEndpoint createEndpoint(Object bean) {
if (bean instanceof MessageHandler) {
return new DefaultEndpoint<MessageHandler>((MessageHandler) bean);
}
return null;
}
}

View File

@@ -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();

View File

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

View File

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

View File

@@ -29,12 +29,8 @@ public interface MessageEndpoint extends MessageTarget, BeanNameAware {
String getName();
void setSource(MessageSource<?> source);
MessageSource<?> getSource();
void setTarget(MessageTarget target);
MessageTarget getTarget();
}

View File

@@ -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<MethodInvokingTarget>(target);
ServiceActivatorEndpoint endpoint = new ServiceActivatorEndpoint(target);
endpoint.setBeanName("testEndpoint");
endpoint.setSource(channel);
bus.registerEndpoint(endpoint);