diff --git a/spring-integration-core/src/main/java/org/springframework/integration/config/xml/AbstractIntegrationNamespaceHandler.java b/spring-integration-core/src/main/java/org/springframework/integration/config/xml/AbstractIntegrationNamespaceHandler.java index 68e0a2e149..34249028fc 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/config/xml/AbstractIntegrationNamespaceHandler.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/config/xml/AbstractIntegrationNamespaceHandler.java @@ -62,10 +62,7 @@ public abstract class AbstractIntegrationNamespaceHandler implements NamespaceHa private void registerDefaultConfiguringBeanFactoryPostProcessorIfNecessary(ParserContext parserContext) { boolean alreadyRegistered = false; if (parserContext.getRegistry() instanceof ListableBeanFactory) { - alreadyRegistered = ObjectUtils.containsElement( - BeanFactoryUtils.beanNamesForTypeIncludingAncestors((ListableBeanFactory) parserContext.getRegistry(), - DefaultConfiguringBeanFactoryPostProcessor.class, false, false), - DEFAULT_CONFIGURING_POSTPROCESSOR_BEAN_NAME); + alreadyRegistered = ((ListableBeanFactory) parserContext.getRegistry()).containsBean(DEFAULT_CONFIGURING_POSTPROCESSOR_BEAN_NAME); } else { alreadyRegistered = parserContext.getRegistry().isBeanNameInUse(DEFAULT_CONFIGURING_POSTPROCESSOR_BEAN_NAME); diff --git a/spring-integration-core/src/main/java/org/springframework/integration/config/xml/IntegrationNamespaceUtils.java b/spring-integration-core/src/main/java/org/springframework/integration/config/xml/IntegrationNamespaceUtils.java index 51d7ae7543..b090414ec4 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/config/xml/IntegrationNamespaceUtils.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/config/xml/IntegrationNamespaceUtils.java @@ -242,35 +242,24 @@ public abstract class IntegrationNamespaceUtils { Element element, ParserContext parserContext) { // parses out inner bean definition for concrete implementation if // defined - List childElements = DomUtils.getChildElementsByTagName( - element, "bean"); + List childElements = DomUtils.getChildElementsByTagName(element, "bean"); BeanComponentDefinition innerComponentDefinition = null; if (childElements != null && childElements.size() == 1) { Element beanElement = childElements.get(0); BeanDefinitionParserDelegate delegate = parserContext.getDelegate(); - BeanDefinitionHolder bdHolder = delegate - .parseBeanDefinitionElement(beanElement); - bdHolder = delegate.decorateBeanDefinitionIfRequired(beanElement, - bdHolder); + BeanDefinitionHolder bdHolder = delegate.parseBeanDefinitionElement(beanElement); + bdHolder = delegate.decorateBeanDefinitionIfRequired(beanElement, bdHolder); BeanDefinition inDef = bdHolder.getBeanDefinition(); - String beanName = BeanDefinitionReaderUtils.generateBeanName(inDef, - parserContext.getRegistry()); - innerComponentDefinition = new BeanComponentDefinition(inDef, - beanName); + innerComponentDefinition = new BeanComponentDefinition(inDef, bdHolder.getBeanName()); parserContext.registerBeanComponent(innerComponentDefinition); } String ref = element.getAttribute(REF_ATTRIBUTE); - Assert - .isTrue( - !(StringUtils.hasText(ref) && innerComponentDefinition != null), - "Ambiguous definition. Inner bean " - + (innerComponentDefinition == null ? innerComponentDefinition - : innerComponentDefinition - .getBeanDefinition() - .getBeanClassName()) - + " declaration and \"ref\" " + ref - + " are not allowed together."); + Assert.isTrue(!(StringUtils.hasText(ref) && innerComponentDefinition != null), "Ambiguous definition. Inner bean " + (innerComponentDefinition == null + ? innerComponentDefinition + : innerComponentDefinition.getBeanDefinition().getBeanClassName()) + + " declaration and \"ref\" " + ref + + " are not allowed together."); return innerComponentDefinition; }