gpt4 book ai didi

JBoss AS 7 中 MBeanServerLocator 类的 JMX 服务器定位器替换

转载 作者:行者123 更新时间:2023-12-02 08:56:50 25 4
gpt4 key购买 nike

我目前正在使用 JBoss 4.3 作为 Web 应用程序。我想迁移到 JBoss AS 7。我已经能够修复除一个版本之外的两个版本中应用程序的必须差异。该应用程序有一些通过 spring 框架创建的 JMX bean。不幸的是,AS 7 版本删除了类:org.jboss.mx.util.MBeanServerLocator,该类在 spring 中用于定位 JBoss JMX 服务器并创建一些 bean。我对 JMX 不太熟悉,但到目前为止我唯一发现的是:“http://lists.jboss.org/pipermail/jboss-as7-dev/2011-February/000569.html”。我想知道是否有人知道如何用新的 JMX 1.6 类替换 JBOSS 中的上述类。这是我需要修复的部分的 Spring 配置片段:

<bean class="org.springframework.jmx.export.MBeanExporter">
<property name="server">
<bean class="org.jboss.mx.util.MBeanServerLocator" factory-method="locateJBoss"/>
</property>
<property name="beans">
<map>
<entry key="MywebMbeans:name=profileListenerContainer" value-ref="profileListenerContainer"/>
<entry key="MywebMbeans:name=jmsSenderService" value-ref="jmsSenderService"/>
<entry key="MywebMbeans:name=mailSender" value-ref="mailSender"/>
</map>
</property>
<property name="assembler" ref="mbeanAssembler"/>
</bean>

谢谢

最佳答案

JBoss 7 使用的 MBeanServer(默认情况下)是平台 MBeanServer。类名称为com.sun.jmx.mbeanserver.JmxMBeanServer,默认域为DefaultDomain。因此,您可以简单地使用:

java.lang.management.ManagementFactory.getPlatformMBeanServer()

或者:

    for(MBeanServer server: javax.management.MBeanServerFactory.findMBeanServer(null)) {
if("DefaultDomain".equals(server.getDefaultDomain())) return server;
}
throw new Exception("Failed to locate MBeanServer");

关于JBoss AS 7 中 MBeanServerLocator 类的 JMX 服务器定位器替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6781376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com