2009-01-02 80 views
3

我们有两个在JBoss下运行的应用程序。我正在寻找一种方法来减少服务器的开销。主应用程序在Tomcat下运行。另一个应用程序由MBeans组成。有没有办法在Tomcat下运行MBean?MBean可以在Tomcat下运行吗?

赞赏替代建议。

回答

5

MBean是JRE中包含的JMX规范的一部分。应该可以在Tomcat下运行MBean。 Tomcat 5或更高版本提供MBean服务器。

2

您可以使用以下JVM参数来启动Tomcat的与MBean的启用

-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=4444 (could be anything) 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 
2

你也应该使用MBean服务器是在Tomcat中 - 你必须找到一个通过:

// find the existing MBean server (tomcat's) in lieu of 
    // creating our own 
    // 
    ArrayList<MBeanServer> mbservers = MBeanServerFactory 
      .findMBeanServer(null); 

    int nservers = mbservers.size(); 
    if (nservers > 0) { 
     // 
     // TODO: A better way to get the currently active server ? 
     // For some reason, every time the webapp is reloaded there is one 
     // more instance of the MBeanServer 
     mbserver = (MBeanServer) mbservers.get(nservers - 1); 
    } 

    if (mbserver == null) { 
     mbserver = MBeanServerFactory.createMBeanServer(); 
    }