我目前正在使用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上面的类.这是我需要修复的弹簧配置snipet:
<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>
Run Code Online (Sandbox Code Playgroud)
谢谢,
JBoss 7使用的MBeanServer(默认情况下)是平台MBeanServer.类名是com.sun.jmx.mbeanserver.JmxMBeanServer,默认域是DefaultDomain.因此,您可以简单地使用:
java.lang.management.ManagementFactory.getPlatformMBeanServer()
Run Code Online (Sandbox Code Playgroud)
或者:
for(MBeanServer server: javax.management.MBeanServerFactory.findMBeanServer(null)) {
if("DefaultDomain".equals(server.getDefaultDomain())) return server;
}
throw new Exception("Failed to locate MBeanServer");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7627 次 |
| 最近记录: |