diff --git a/spring-integration-core/src/main/java/org/springframework/integration/config/xml/AbstractChannelNameResolvingRouterParser.java b/spring-integration-core/src/main/java/org/springframework/integration/config/xml/AbstractChannelNameResolvingRouterParser.java index 52554afc14..3c4c3f7c33 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/config/xml/AbstractChannelNameResolvingRouterParser.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/config/xml/AbstractChannelNameResolvingRouterParser.java @@ -41,8 +41,6 @@ public abstract class AbstractChannelNameResolvingRouterParser extends AbstractR // check if mapping is provided otherwise returned values will be treated as channel names List childElements = DomUtils.getChildElementsByTagName(element, "mapping"); if (childElements != null && childElements.size() > 0) { - BeanDefinitionBuilder channelResolverBuilder = BeanDefinitionBuilder.genericBeanDefinition( - IntegrationNamespaceUtils.BASE_PACKAGE + ".support.channel.BeanFactoryChannelResolver"); ManagedMap channelMap = new ManagedMap(); for (Element childElement : childElements) { String beanClassName = beanDefinition.getBeanClassName(); @@ -59,7 +57,6 @@ public abstract class AbstractChannelNameResolvingRouterParser extends AbstractR channelMap.put(key, childElement.getAttribute("channel")); } beanDefinition.getPropertyValues().add("channelIdentifierMap", channelMap); - beanDefinition.getPropertyValues().add("channelResolver", channelResolverBuilder.getBeanDefinition()); } } return beanDefinition; diff --git a/spring-integration-core/src/test/java/org/springframework/integration/core/MessagingTemplateTests.java b/spring-integration-core/src/test/java/org/springframework/integration/core/MessagingTemplateTests.java index 6a4e2addc3..d5e120b29c 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/core/MessagingTemplateTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/core/MessagingTemplateTests.java @@ -307,14 +307,12 @@ public class MessagingTemplateTests { @Test public void sendByChannelNameWithCustomChannelResolver() { QueueChannel testChannel = new QueueChannel(); -// Map channelMap = new HashMap(); -// channelMap.put("testChannel", testChannel); + DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); beanFactory.registerSingleton("testChannel", testChannel); - BeanFactoryChannelResolver channelResolver = new BeanFactoryChannelResolver(beanFactory); -// MapBasedChannelResolver channelResolver = new MapBasedChannelResolver(channelMap); + MessagingTemplate template = new MessagingTemplate(); - template.setChannelResolver(channelResolver); + template.setBeanFactory(beanFactory); template.afterPropertiesSet(); Message message = MessageBuilder.withPayload("test").build(); template.send("testChannel", message); @@ -360,7 +358,7 @@ public class MessagingTemplateTests { beanFactory.registerSingleton("testChannel", testChannel); MessagingTemplate template = new MessagingTemplate(); - template.setChannelResolver(new BeanFactoryChannelResolver(beanFactory)); + template.setBeanFactory(beanFactory); template.afterPropertiesSet(); Message message = MessageBuilder.withPayload("test").build(); testChannel.send(message); diff --git a/spring-integration-core/src/test/java/org/springframework/integration/router/ErrorMessageExceptionTypeRouterTests.java b/spring-integration-core/src/test/java/org/springframework/integration/router/ErrorMessageExceptionTypeRouterTests.java index 04f6fcb8b7..7f0f096aed 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/router/ErrorMessageExceptionTypeRouterTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/router/ErrorMessageExceptionTypeRouterTests.java @@ -75,7 +75,7 @@ public class ErrorMessageExceptionTypeRouterTests { exceptionTypeChannelMap.put(MessageHandlingException.class.getName(), "messageHandlingExceptionChannel"); router.setChannelIdentifierMap(exceptionTypeChannelMap); - router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory)); + router.setBeanFactory(beanFactory); router.setDefaultOutputChannel(defaultChannel); router.handleMessage(message); @@ -97,7 +97,7 @@ public class ErrorMessageExceptionTypeRouterTests { exceptionTypeChannelMap.put(RuntimeException.class.getName(), "runtimeExceptionChannel"); exceptionTypeChannelMap.put(MessageHandlingException.class.getName(), "runtimeExceptionChannel"); router.setChannelIdentifierMap(exceptionTypeChannelMap); - router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory)); + router.setBeanFactory(beanFactory); router.setDefaultOutputChannel(defaultChannel); router.handleMessage(message); @@ -118,7 +118,7 @@ public class ErrorMessageExceptionTypeRouterTests { Map exceptionTypeChannelMap = new HashMap(); exceptionTypeChannelMap.put(MessageHandlingException.class.getName(), "messageHandlingExceptionChannel"); router.setChannelIdentifierMap(exceptionTypeChannelMap); - router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory)); + router.setBeanFactory(beanFactory); router.setDefaultOutputChannel(defaultChannel); router.handleMessage(message); assertNotNull(messageHandlingExceptionChannel.receive(1000)); @@ -154,7 +154,7 @@ public class ErrorMessageExceptionTypeRouterTests { Map exceptionTypeChannelMap = new HashMap(); exceptionTypeChannelMap.put(MessageDeliveryException.class.getName(), "messageDeliveryExceptionChannel"); router.setChannelIdentifierMap(exceptionTypeChannelMap); - router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory)); + router.setBeanFactory(beanFactory); router.setResolutionRequired(true); router.handleMessage(message); } @@ -172,7 +172,7 @@ public class ErrorMessageExceptionTypeRouterTests { exceptionTypeChannelMap.put(RuntimeException.class.getName(), "runtimeExceptionChannel"); exceptionTypeChannelMap.put(MessageHandlingException.class.getName(), "messageHandlingExceptionChannel"); router.setChannelIdentifierMap(exceptionTypeChannelMap); - router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory)); + router.setBeanFactory(beanFactory); router.setDefaultOutputChannel(defaultChannel); router.handleMessage(message); assertNotNull(illegalArgumentChannel.receive(1000)); @@ -193,7 +193,7 @@ public class ErrorMessageExceptionTypeRouterTests { exceptionTypeChannelMap.put(IllegalArgumentException.class.getName(), "illegalArgumentChannel"); exceptionTypeChannelMap.put(MessageHandlingException.class.getName(), "messageHandlingExceptionChannel"); router.setChannelIdentifierMap(exceptionTypeChannelMap); - router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory)); + router.setBeanFactory(beanFactory); router.setDefaultOutputChannel(defaultChannel); router.handleMessage(message); assertNotNull(illegalArgumentChannel.receive(1000)); diff --git a/spring-integration-core/src/test/java/org/springframework/integration/router/MultiChannelRouterTests.java b/spring-integration-core/src/test/java/org/springframework/integration/router/MultiChannelRouterTests.java index c7a32b913d..e220d69130 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/router/MultiChannelRouterTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/router/MultiChannelRouterTests.java @@ -84,7 +84,7 @@ public class MultiChannelRouterTests { return CollectionUtils.arrayToList(new String[] {"noSuchChannel"}); } }; - router.setChannelResolver(new BeanFactoryChannelResolver(mock(BeanFactory.class))); + router.setBeanFactory(mock(BeanFactory.class)); Message message = new GenericMessage("test"); router.handleMessage(message); } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/router/PayloadTypeRouterTests.java b/spring-integration-core/src/test/java/org/springframework/integration/router/PayloadTypeRouterTests.java index d6e8112af5..ad2a628b60 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/router/PayloadTypeRouterTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/router/PayloadTypeRouterTests.java @@ -53,14 +53,13 @@ public class PayloadTypeRouterTests { payloadTypeChannelMap.put(Integer.class.getName(), "integerChannel"); PayloadTypeRouter router = new PayloadTypeRouter(); router.setChannelIdentifierMap(payloadTypeChannelMap); - router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory)); + router.setBeanFactory(beanFactory); Message message1 = new GenericMessage("test"); Message message2 = new GenericMessage(123); MessageChannel result1 = router.determineTargetChannels(message1).iterator().next(); MessageChannel result2 = router.determineTargetChannels(message2).iterator().next(); - //MessageChannel result1 = router.determineTargetChannel(message1); - //MessageChannel result2 = router.determineTargetChannel(message2); + assertEquals(stringChannel, result1); assertEquals(integerChannel, result2); } @@ -79,7 +78,7 @@ public class PayloadTypeRouterTests { payloadTypeChannelMap.put(Number.class.getName(), "numberChannel"); PayloadTypeRouter router = new PayloadTypeRouter(); router.setChannelIdentifierMap(payloadTypeChannelMap); - router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory)); + router.setBeanFactory(beanFactory); router.setDefaultOutputChannel(defaultChannel); Message message = new GenericMessage(99); router.handleMessage(message); @@ -108,7 +107,7 @@ public class PayloadTypeRouterTests { payloadTypeChannelMap.put(Integer.class.getName(), "integerChannel"); PayloadTypeRouter router = new PayloadTypeRouter(); - router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory)); + router.setBeanFactory(beanFactory); router.setChannelIdentifierMap(payloadTypeChannelMap); router.setDefaultOutputChannel(defaultChannel); @@ -136,7 +135,7 @@ public class PayloadTypeRouterTests { payloadTypeChannelMap.put(Comparable.class.getName(), "comparableChannel"); PayloadTypeRouter router = new PayloadTypeRouter(); - router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory)); + router.setBeanFactory(beanFactory); router.setChannelIdentifierMap(payloadTypeChannelMap); router.setDefaultOutputChannel(defaultChannel); @@ -167,7 +166,7 @@ public class PayloadTypeRouterTests { payloadTypeChannelMap.put(Comparable.class.getName(), "comparableChannel"); PayloadTypeRouter router = new PayloadTypeRouter(); - router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory)); + router.setBeanFactory(beanFactory); router.setChannelIdentifierMap(payloadTypeChannelMap); router.setDefaultOutputChannel(defaultChannel); @@ -199,7 +198,7 @@ public class PayloadTypeRouterTests { payloadTypeChannelMap.put(Comparable.class.getName(), "comparableChannel"); PayloadTypeRouter router = new PayloadTypeRouter(); - router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory)); + router.setBeanFactory(beanFactory); router.setChannelIdentifierMap(payloadTypeChannelMap); router.setDefaultOutputChannel(defaultChannel); @@ -233,7 +232,7 @@ public class PayloadTypeRouterTests { payloadTypeChannelMap.put(Serializable.class.getName(), "serializableChannel"); PayloadTypeRouter router = new PayloadTypeRouter(); - router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory)); + router.setBeanFactory(beanFactory); router.setChannelIdentifierMap(payloadTypeChannelMap); router.setDefaultOutputChannel(defaultChannel); @@ -262,7 +261,7 @@ public class PayloadTypeRouterTests { payloadTypeChannelMap.put(Integer.class.getName(), "integerChannel"); PayloadTypeRouter router = new PayloadTypeRouter(); - router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory)); + router.setBeanFactory(beanFactory); router.setChannelIdentifierMap(payloadTypeChannelMap); Message message1 = new GenericMessage("test"); @@ -291,7 +290,7 @@ public class PayloadTypeRouterTests { payloadTypeChannelMap.put(String.class.getName(), "stringChannel"); PayloadTypeRouter router = new PayloadTypeRouter(); - router.setChannelResolver(new BeanFactoryChannelResolver(beanFactory)); + router.setBeanFactory(beanFactory); router.setChannelIdentifierMap(payloadTypeChannelMap); router.setDefaultOutputChannel(defaultChannel); diff --git a/spring-integration-core/src/test/java/org/springframework/integration/router/RouterTests.java b/spring-integration-core/src/test/java/org/springframework/integration/router/RouterTests.java index 5409947e6d..8e6753a3dc 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/router/RouterTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/router/RouterTests.java @@ -151,7 +151,7 @@ public class RouterTests { return "notImportant"; } }; - router.setChannelResolver(new BeanFactoryChannelResolver(mock(BeanFactory.class))); + router.setBeanFactory(mock(BeanFactory.class)); router.handleMessage(new GenericMessage("this should fail")); } @@ -163,7 +163,7 @@ public class RouterTests { return CollectionUtils.arrayToList(new String[] { "notImportant" }); } }; - router.setChannelResolver(new BeanFactoryChannelResolver(mock(BeanFactory.class))); + router.setBeanFactory(mock(BeanFactory.class)); router.handleMessage(new GenericMessage("this should fail")); }