我正在使用Spring 3并通过Spring公开了一个MBean,一切正常但我在日志文件中看到了以下警告消息。
WARN org.springframework.jmx.support.JmxUtils - Found more than one MBeanServer instance. Returning first from list.
这是我的配置:
<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter">
<property name="assembler" ref="assembler" />
<property name="namingStrategy" ref="namingStrategy" />
<property name="autodetect" value="true" />
<property name="registrationBehaviorName" value="REGISTRATION_REPLACE_EXISTING"/>
</bean>
<bean id="jmxAttributeSource"
class="org.springframework.jmx.export.annotation.AnnotationJmxAttributeSource" />
<bean id="assembler"
class="org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler">
<property name="attributeSource" ref="jmxAttributeSource" />
</bean>
<bean id="WASAdminService" class="com.ibm.websphere.management.AdminServiceFactory"
factory-method="getAdminService" />
<bean id="namingStrategy" class="com.xxxx.WebSphereNamingStrategy">
<constructor-arg ref="WASAdminService" />
</bean>
我放了一个调试点,发现它找到'com.ibm.ws.management.PlatformMBeanServer'和'com.sun.jmx.mbeanserver.JmxMBeanServer'对象。知道为什么它不止一个?当我用Google搜索时,我发现我可以指定'agent id'来查找所需的MBean服务器,但是如果我们在多个环境中部署此代码,则代理ID可能不相同(不能是静态的)...
对此的任何意见表示赞赏......
谢谢,Kiran
答案 0 :(得分:1)
我的猜测是两个MBean服务器对应于:
我是这个领域的新手,但我正准备进一步调查。从我的角度来看,我想指定Platform Mbean服务器 - 这样可以更容易地从监视工具(如JConsole等)访问