diff --git a/org.springframework.integration/src/main/resources/org/springframework/integration/config/xml/spring-integration-2.0.xsd b/org.springframework.integration/src/main/resources/org/springframework/integration/config/xml/spring-integration-2.0.xsd index 864679397a..03ad9bf922 100644 --- a/org.springframework.integration/src/main/resources/org/springframework/integration/config/xml/spring-integration-2.0.xsd +++ b/org.springframework.integration/src/main/resources/org/springframework/integration/config/xml/spring-integration-2.0.xsd @@ -744,12 +744,20 @@ + + + - + + + + + + diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/config/ChainParserTests-context.xml b/org.springframework.integration/src/test/java/org/springframework/integration/config/ChainParserTests-context.xml index a0943d2682..c2631abea5 100644 --- a/org.springframework.integration/src/test/java/org/springframework/integration/config/ChainParserTests-context.xml +++ b/org.springframework.integration/src/test/java/org/springframework/integration/config/ChainParserTests-context.xml @@ -67,6 +67,21 @@ + + + + + + + + + + + + + + + @@ -83,5 +98,8 @@ class="org.springframework.integration.config.TestHandler"> - + + + + diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/config/ChainParserTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/config/ChainParserTests.java index 490bc891b1..34d9f9939f 100644 --- a/org.springframework.integration/src/test/java/org/springframework/integration/config/ChainParserTests.java +++ b/org.springframework.integration/src/test/java/org/springframework/integration/config/ChainParserTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2009 the original author or authors. + * Copyright 2002-2010 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -71,10 +71,21 @@ public class ChainParserTests { @Autowired @Qualifier("beanInput") private MessageChannel beanInput; + @Autowired @Qualifier("aggregatorInput") private MessageChannel aggregatorInput; + @Autowired + private MessageChannel payloadTypeRouterInput; + + @Autowired + private PollableChannel strings; + + @Autowired + private PollableChannel numbers; + + public static Message successMessage = MessageBuilder.withPayload("success").build(); @@ -144,7 +155,21 @@ public class ChainParserTests { assertNotNull(reply); assertEquals("foo", reply.getPayload()); } - + + @Test + public void chainWithPayloadTypeRouter() throws Exception { + Message message1 = MessageBuilder.withPayload("test").build(); + Message message2 = MessageBuilder.withPayload(123).build(); + this.payloadTypeRouterInput.send(message1); + this.payloadTypeRouterInput.send(message2); + Message reply1 = this.strings.receive(0); + Message reply2 = this.numbers.receive(0); + assertNotNull(reply1); + assertNotNull(reply2); + assertEquals("test", reply1.getPayload()); + assertEquals(123, reply2.getPayload()); + } + public static class StubHandler extends AbstractReplyProducingMessageHandler { @Override