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