我正在使用我部署在tomcat服务器上的WAR文件(我已在本地运行)处理Spring的JMX支持。但是,尽管遵循发布的指南,但我无法将我的MBeans专门部署到Tomcat的MBeanServer实例。将Spring MBeans导出到Tomcat的MBeanServer实例
我已经尝试了MBeanExporter和MBeanServerFactoryBean配置的一些变体,似乎没有任何工作。这是我目前的配置:
<bean id="mbeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean">
<property name="serviceUrl" value="service:jmx:rmi:///jndi/rmi://localhost:6969/jmxrmi"/>
</bean>
<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter" lazy-init="false">
<property name="server" ref="mbeanServer"/>
<property name="beans">
<map>
<entry key="domain:name=notifier" value-ref="mBeanNotifier"/>
</map>
</property>
</bean>
<bean id="mBeanNotifier" class="com.sei.poc.jmx.mbeans.SimpleMBeanNotifier"/>
而且我已经包含在Tomcat的配置以下参数,以及:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=6969
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
我可以手动输入本地主机连接到MBeanServer:6969到JConsole的,但我只能找到本地的catalina MBeans。当我挖掘这些MBeans时,我甚至找到了对我的项目的引用,但不幸的是,我声明的MBean无处可查。
我试图删除MBeanServerFactoryBean声明,希望导出器能够拿起tomcat的MBeanServer(没有运气)。我尝试过不同的服务网址,也没有成功。
我应该注意到,我能够将MBean部署到本地MBeanServer并使用JConsole查看它们。
任何建议至于什么问题可能会不胜感激。
谢谢!
我不知道这是否有帮助/我解释清楚,但我从来没有遇到过问题,当我在jar文件中运行测试并将MBean部署到本地MBeanServer时(从我读的内容中我相信PlatformMBeanServer)。只有当我在战争中进行测试时,将其部署到tomcat,并连接到tomcat的MBeanServer(此时,我只能假设我实际上正在建立该连接),我无法使用JConsole查看我的MBean。 – Mac 2013-03-01 15:28:59