|
Spring Framework example source code file (MBeanServerBeanDefinitionParser.java)
The Spring Framework MBeanServerBeanDefinitionParser.java source codepackage org.springframework.context.config; import org.w3c.dom.Element; import org.springframework.beans.factory.support.AbstractBeanDefinition; import org.springframework.beans.factory.support.RootBeanDefinition; import org.springframework.beans.factory.xml.AbstractBeanDefinitionParser; import org.springframework.beans.factory.xml.ParserContext; import org.springframework.jmx.support.MBeanServerFactoryBean; import org.springframework.jmx.support.WebSphereMBeanServerFactoryBean; import org.springframework.jndi.JndiObjectFactoryBean; import org.springframework.util.ClassUtils; import org.springframework.util.StringUtils; /** * Parser for the <context:mbean-server/> element. * <p>Registers an instance of {@link org.springframework.jmx.export.annotation.AnnotationMBeanExporter} within the context. * * @author Mark Fisher * @author Juergen Hoeller * @since 2.5 * @see org.springframework.jmx.export.annotation.AnnotationMBeanExporter */ class MBeanServerBeanDefinitionParser extends AbstractBeanDefinitionParser { private static final String MBEAN_SERVER_BEAN_NAME = "mbeanServer"; private static final String AGENT_ID_ATTRIBUTE = "agent-id"; private static final boolean weblogicPresent = ClassUtils.isPresent("weblogic.management.Helper"); private static final boolean webspherePresent = ClassUtils.isPresent("com.ibm.websphere.management.AdminServiceFactory"); protected String resolveId(Element element, AbstractBeanDefinition definition, ParserContext parserContext) { String id = element.getAttribute(ID_ATTRIBUTE); return (StringUtils.hasText(id) ? id : MBEAN_SERVER_BEAN_NAME); } protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { String agentId = element.getAttribute(AGENT_ID_ATTRIBUTE); if (StringUtils.hasText(agentId)) { RootBeanDefinition bd = new RootBeanDefinition(MBeanServerFactoryBean.class); bd.getPropertyValues().addPropertyValue("agentId", agentId); return bd; } AbstractBeanDefinition specialServer = findServerForSpecialEnvironment(); if (specialServer != null) { return specialServer; } RootBeanDefinition bd = new RootBeanDefinition(MBeanServerFactoryBean.class); bd.getPropertyValues().addPropertyValue("locateExistingServerIfPossible", Boolean.TRUE); return bd; } static AbstractBeanDefinition findServerForSpecialEnvironment() { if (weblogicPresent) { RootBeanDefinition bd = new RootBeanDefinition(JndiObjectFactoryBean.class); bd.getPropertyValues().addPropertyValue("jndiName", "java:comp/env/jmx/runtime"); return bd; } else if (webspherePresent) { return new RootBeanDefinition(WebSphereMBeanServerFactoryBean.class); } else { return null; } } } Other Spring Framework examples (source code examples)Here is a short list of links related to this Spring Framework MBeanServerBeanDefinitionParser.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.