From 9a6d20d5b3a37a4c3c0a18586b003e58b3e0fc7b Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Thu, 16 Dec 2010 16:19:52 -0500 Subject: [PATCH] polishing --- .../jmx/config/MBeanExporterParser.java | 34 ++++++------------- 1 file changed, 11 insertions(+), 23 deletions(-) diff --git a/spring-integration-jmx/src/main/java/org/springframework/integration/jmx/config/MBeanExporterParser.java b/spring-integration-jmx/src/main/java/org/springframework/integration/jmx/config/MBeanExporterParser.java index 814cedff28..62c1488174 100644 --- a/spring-integration-jmx/src/main/java/org/springframework/integration/jmx/config/MBeanExporterParser.java +++ b/spring-integration-jmx/src/main/java/org/springframework/integration/jmx/config/MBeanExporterParser.java @@ -15,6 +15,8 @@ package org.springframework.integration.jmx.config; import javax.management.MBeanServerFactory; +import org.w3c.dom.Element; + import org.springframework.beans.factory.BeanDefinitionStoreException; import org.springframework.beans.factory.config.RuntimeBeanReference; import org.springframework.beans.factory.support.AbstractBeanDefinition; @@ -23,19 +25,17 @@ import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser; import org.springframework.beans.factory.xml.ParserContext; import org.springframework.integration.config.xml.IntegrationNamespaceUtils; import org.springframework.util.StringUtils; -import org.w3c.dom.Element; /** + * Parser for the 'mbean-export' element of the integration JMX namespace. + * * @author Mark Fisher * @since 2.0 */ public class MBeanExporterParser extends AbstractSingleBeanDefinitionParser { - /** - * - */ private static final String MBEAN_EXPORTER_NAME = "mbeanExporter"; - private static final String ILLEGAL_NAME = MBEAN_EXPORTER_NAME; + @Override protected boolean shouldGenerateIdAsFallback() { @@ -53,37 +53,25 @@ public class MBeanExporterParser extends AbstractSingleBeanDefinitionParser { builder.getRawBeanDefinition().setSource(parserContext.extractSource(element)); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "default-domain"); builder.addPropertyValue("server", mbeanServer); -// if (!parserContext.getRegistry().containsBeanDefinition(MBEAN_EXPORTER_NAME)) { -// /* -// * Vanilla MBeanExporter not yet registered - need to hack this in to ensure if it is subsequently -// * registered, then it gets initialized before the IntegrationMBeanExporter. -// */ -// BeanDefinitionBuilder dummy = BeanDefinitionBuilder.genericBeanDefinition(String.class); -// dummy.addConstructorArgValue("Dummy " + MBEAN_EXPORTER_NAME -// + " will be overridden by a "); -// parserContext.getRegistry().registerBeanDefinition(MBEAN_EXPORTER_NAME, dummy.getBeanDefinition()); -// } -// // Force vanilla MBeanExporter to initialize first if it exists to prevent problems with Proxies -// builder.getRawBeanDefinition().setDependsOn(new String[] { MBEAN_EXPORTER_NAME }); } private Object getMBeanServer(Element element, ParserContext parserContext) { String mbeanServer = element.getAttribute("server"); if (StringUtils.hasText(mbeanServer)) { return new RuntimeBeanReference(mbeanServer); - } else { + } + else { return MBeanServerFactory.createMBeanServer(); } } @Override - protected String resolveId(Element element, AbstractBeanDefinition definition, ParserContext parserContext) - throws BeanDefinitionStoreException { + protected String resolveId(Element element, AbstractBeanDefinition definition, ParserContext parserContext) throws BeanDefinitionStoreException { String id = super.resolveId(element, definition, parserContext); - if (ILLEGAL_NAME.equals(id)) { + if (MBEAN_EXPORTER_NAME.equals(id)) { parserContext.getReaderContext().error( - "Illegal bean id for : " + ILLEGAL_NAME - + " (clashes with default). Please choose another bean id.", + "Illegal bean id for : " + MBEAN_EXPORTER_NAME + + " (clashes with default). Please choose another bean id.", definition); } return id;