我们有 2 个在 JBoss 下运行的应用程序。我正在寻找一种方法来减少服务器的开销。主应用程序在 Tomcat 下运行。另一个应用程序由 MBean 组成。有没有办法在 Tomcat 下运行 MBean?
替代建议表示赞赏。
MBean 是 JRE 中包含的 JMX 规范的一部分。应该可以在 Tomcat 下运行 MBean。Tomcat 5 或更高版本提供了一个 MBean 服务器。
您可以使用以下 JVM 参数来启动启用了 MBean 的 Tomcat
-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
您还应该使用 tomcat 中的 MBean 服务器 - 您必须通过以下方式找到该服务器:
// 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();
}
试试这个http://community.jboss.org/wiki/JBossASTuningSliming。当然,您有许多没有使用的服务。