diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/DefaultRouterParser.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/DefaultRouterParser.java index 584fe1a4e2..a55d0ce666 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/DefaultRouterParser.java +++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/DefaultRouterParser.java @@ -49,10 +49,13 @@ public class DefaultRouterParser extends AbstractRouterParser { String method = element.getAttribute(METHOD_ATTRIBUTE); builder.addPropertyValue("targetMethodName", method); } - BeanDefinitionBuilder resolverBuilder = BeanDefinitionBuilder.genericBeanDefinition( - IntegrationNamespaceUtils.BASE_PACKAGE + ".channel.BeanFactoryChannelResolver"); - String resolverBeanName = BeanDefinitionReaderUtils.registerWithGeneratedName( - resolverBuilder.getBeanDefinition(), parserContext.getRegistry()); + String resolverBeanName = element.getAttribute("channel-resolver"); + if (!StringUtils.hasText(resolverBeanName)) { + BeanDefinitionBuilder resolverBuilder = BeanDefinitionBuilder.genericBeanDefinition( + IntegrationNamespaceUtils.BASE_PACKAGE + ".channel.BeanFactoryChannelResolver"); + resolverBeanName = BeanDefinitionReaderUtils.registerWithGeneratedName( + resolverBuilder.getBeanDefinition(), parserContext.getRegistry()); + } builder.addPropertyReference("channelResolver", resolverBeanName); } diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/spring-integration-1.0.xsd b/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/spring-integration-1.0.xsd index 53393ffe9b..e4a4c39efa 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/spring-integration-1.0.xsd +++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/spring-integration-1.0.xsd @@ -914,7 +914,6 @@ Spring-managed object as specified by the "ref" and "method" attributes. ]]> - @@ -931,6 +930,20 @@ + + + + + + + + + +