我想用jconsole 监控tomcat ,我的tomcat 注册的一个windows服务,我修改catalina.bat 文件,加入set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false ,通过启动startup.bat 启动tomcat 可以监控,但是通过tomcat5.exe 打开,或通过服务打开,就不能监控呢,有哪位高手可以给解决!

解决方案 »

  1.   

    tomcat5.exe 和 catalina.bat启动的参数不一样,所以一个可以一个不可以你可以试试把catalina.bat中的参数加到tomcat5.exe中看看
      

  2.   

    修改tomcat5.exe是不可能的了,但本人更喜欢用脚本启动,所以也就不用另寻他途去启动JMX服务。当然针对楼主的问题,可以给个方案:
    使用JDK1.5中启动脚本配置JMX服务,其本质是RMI服务+JMX的MBeanServer;如果不用JDK1.5,也可直接自己启动:
    1.手工启动RMI服务,Spring中对RMI服务有比较好的支持:
    org.springframework.remoting.rmi.RmiRegistryFactoryBean
    通过上述类,即可启动RMI服务;
    2.MBeanServer服务的启动与注册。
    起始Tomcat6.X版本是基于MBeanServer的,它把MBeanServer当成容器使用了,为了替代JDK1.5启动,应该将Tomcat建立的MBeanServer注册至RMI服务,而不是自己启动。
    javax.management.MBeanServerFactory
    看一下上述Java类,所有JVM中的MBeanServer实例均在该类中缓存,可以查到Tomcat的MBeanServer,但需要注册路径,这个自己查