Added Target interface and split DefaultMessageEndpoint into TargetEndpoint and HandlerEndpoint. All "one-way" adapters now implement Target instead of MessageHandler, the ConcurrentHandler is now ConcurrentTarget, and the MessageDispatcher also operates on Targets rather than MessageHandlers.

This commit is contained in:
Mark Fisher
2008-04-17 17:25:56 +00:00
parent e9673586c4
commit 0f6bd60ee0
69 changed files with 930 additions and 1008 deletions

View File

@@ -25,7 +25,7 @@ import org.springframework.beans.factory.support.RootBeanDefinition;
import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.integration.ConfigurationException;
import org.springframework.integration.endpoint.DefaultMessageEndpoint;
import org.springframework.integration.endpoint.HandlerEndpoint;
import org.springframework.integration.scheduling.Subscription;
import org.springframework.integration.ws.adapter.MarshallingWebServiceTargetAdapter;
import org.springframework.integration.ws.adapter.SimpleWebServiceTargetAdapter;
@@ -39,7 +39,7 @@ import org.springframework.util.StringUtils;
public class WebServiceTargetAdapterParser extends AbstractSingleBeanDefinitionParser {
protected Class<?> getBeanClass(Element element) {
return DefaultMessageEndpoint.class;
return HandlerEndpoint.class;
}
protected boolean shouldGenerateId() {

View File

@@ -23,7 +23,7 @@ import org.junit.Test;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.integration.endpoint.DefaultMessageEndpoint;
import org.springframework.integration.endpoint.HandlerEndpoint;
import org.springframework.integration.ws.adapter.MarshallingWebServiceTargetAdapter;
import org.springframework.integration.ws.adapter.SimpleWebServiceTargetAdapter;
import org.springframework.oxm.Marshaller;
@@ -39,8 +39,8 @@ public class WebServiceTargetAdapterParserTests {
public void testSimpleWebServiceTargetAdapterWithDefaultSourceExtractor() {
ApplicationContext context = new ClassPathXmlApplicationContext(
"simpleWebServiceTargetAdapterParserTests.xml", this.getClass());
DefaultMessageEndpoint endpoint =
(DefaultMessageEndpoint) context.getBean("adapterWithDefaultSourceExtractor");
HandlerEndpoint endpoint =
(HandlerEndpoint) context.getBean("adapterWithDefaultSourceExtractor");
assertEquals(SimpleWebServiceTargetAdapter.class, endpoint.getHandler().getClass());
DirectFieldAccessor accessor = new DirectFieldAccessor(endpoint.getHandler());
assertEquals("DefaultSourceExtractor", accessor.getPropertyValue("sourceExtractor").getClass().getSimpleName());
@@ -50,8 +50,8 @@ public class WebServiceTargetAdapterParserTests {
public void testSimpleWebServiceTargetAdapterWithCustomSourceExtractor() {
ApplicationContext context = new ClassPathXmlApplicationContext(
"simpleWebServiceTargetAdapterParserTests.xml", this.getClass());
DefaultMessageEndpoint endpoint =
(DefaultMessageEndpoint) context.getBean("adapterWithCustomSourceExtractor");
HandlerEndpoint endpoint =
(HandlerEndpoint) context.getBean("adapterWithCustomSourceExtractor");
assertEquals(SimpleWebServiceTargetAdapter.class, endpoint.getHandler().getClass());
DirectFieldAccessor accessor = new DirectFieldAccessor(endpoint.getHandler());
SourceExtractor sourceExtractor = (SourceExtractor) context.getBean("sourceExtractor");
@@ -62,8 +62,8 @@ public class WebServiceTargetAdapterParserTests {
public void testWebServiceTargetAdapterWithAllInOneMarshaller() {
ApplicationContext context = new ClassPathXmlApplicationContext(
"marshallingWebServiceTargetAdapterParserTests.xml", this.getClass());
DefaultMessageEndpoint endpoint =
(DefaultMessageEndpoint) context.getBean("adapterWithAllInOneMarshaller");
HandlerEndpoint endpoint =
(HandlerEndpoint) context.getBean("adapterWithAllInOneMarshaller");
assertEquals(MarshallingWebServiceTargetAdapter.class, endpoint.getHandler().getClass());
DirectFieldAccessor handlerAccessor = new DirectFieldAccessor(endpoint.getHandler());
DirectFieldAccessor templateAccessor = new DirectFieldAccessor(
@@ -77,8 +77,8 @@ public class WebServiceTargetAdapterParserTests {
public void testWebServiceTargetAdapterWithSeparateMarshallerAndUnmarshaller() {
ApplicationContext context = new ClassPathXmlApplicationContext(
"marshallingWebServiceTargetAdapterParserTests.xml", this.getClass());
DefaultMessageEndpoint endpoint =
(DefaultMessageEndpoint) context.getBean("adapterWithSeparateMarshallerAndUnmarshaller");
HandlerEndpoint endpoint =
(HandlerEndpoint) context.getBean("adapterWithSeparateMarshallerAndUnmarshaller");
assertEquals(MarshallingWebServiceTargetAdapter.class, endpoint.getHandler().getClass());
DirectFieldAccessor handlerAccessor = new DirectFieldAccessor(endpoint.getHandler());
DirectFieldAccessor templateAccessor = new DirectFieldAccessor(