diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/router/config/RouterParserTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/router/config/RouterParserTests.java index a460a63711..4a46580802 100644 --- a/org.springframework.integration/src/test/java/org/springframework/integration/router/config/RouterParserTests.java +++ b/org.springframework.integration/src/test/java/org/springframework/integration/router/config/RouterParserTests.java @@ -19,6 +19,7 @@ package org.springframework.integration.router.config; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; import java.util.Collection; import java.util.Collections; @@ -28,6 +29,7 @@ import org.junit.Test; import org.springframework.beans.DirectFieldAccessor; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.integration.annotation.Router; +import org.springframework.integration.channel.ChannelResolver; import org.springframework.integration.channel.MessageChannelTemplate; import org.springframework.integration.channel.PollableChannel; import org.springframework.integration.core.Message; @@ -134,6 +136,18 @@ public class RouterParserTests { assertEquals(new Long(1234), timeout); } + @Test + public void channelResolverConfigured() { + ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( + "routerParserTests.xml", this.getClass()); + Object channelResolverBean = context.getBean("testChannelResolver"); + DirectFieldAccessor endpointAccessor = new DirectFieldAccessor(context.getBean("routerWithChannelResolver")); + MethodInvokingRouter router = (MethodInvokingRouter) endpointAccessor.getPropertyValue("handler"); + ChannelResolver channelResolver = (ChannelResolver) + new DirectFieldAccessor(router).getPropertyValue("channelResolver"); + assertSame(channelResolverBean, channelResolver); + } + public static class TestRouterImplementation extends AbstractMessageRouter { @@ -173,6 +187,14 @@ public class RouterParserTests { } - + + + static class TestChannelResover implements ChannelResolver { + + public MessageChannel resolveChannelName(String channelName) { + return null; + } + + } } diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/router/config/routerParserTests.xml b/org.springframework.integration/src/test/java/org/springframework/integration/router/config/routerParserTests.xml index a594cbcb35..9169862474 100644 --- a/org.springframework.integration/src/test/java/org/springframework/integration/router/config/routerParserTests.xml +++ b/org.springframework.integration/src/test/java/org/springframework/integration/router/config/routerParserTests.xml @@ -66,4 +66,11 @@ + + + + +