diff --git a/org.springframework.integration/src/main/resources/org/springframework/integration/config/xml/spring-integration-1.0.xsd b/org.springframework.integration/src/main/resources/org/springframework/integration/config/xml/spring-integration-1.0.xsd
index 710a724a2d..1c66979a44 100644
--- a/org.springframework.integration/src/main/resources/org/springframework/integration/config/xml/spring-integration-1.0.xsd
+++ b/org.springframework.integration/src/main/resources/org/springframework/integration/config/xml/spring-integration-1.0.xsd
@@ -688,12 +688,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 8f076136e2..23935bc934 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
@@ -66,6 +66,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 16e4ca00c4..53a33ec41e 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
@@ -69,6 +69,18 @@ public class ChainParserTests {
@Qualifier("replyOutput")
private PollableChannel replyOutput;
+ @Autowired
+ @Qualifier("payloadTypeRouterInput")
+ private MessageChannel payloadTypeRouterInput;
+
+ @Autowired
+ @Qualifier("strings")
+ private PollableChannel strings;
+
+ @Autowired
+ @Qualifier("numbers")
+ private PollableChannel numbers;
+
@Autowired
@Qualifier("beanInput")
private MessageChannel beanInput;
@@ -145,7 +157,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