From 93bfb7f3687ea5e61b4e9db7c4885d57337fb8c6 Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Sun, 28 Jun 2009 02:56:41 +0000 Subject: [PATCH] INT-672 Added support for the 'channel-resolver' attribute on elements. --- .../config/xml/DefaultRouterParser.java | 11 +++++++---- .../config/xml/spring-integration-1.0.xsd | 15 ++++++++++++++- 2 files changed, 21 insertions(+), 5 deletions(-) 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 @@ + + + + + + + + + +