JBoss で実行される 2 つのアプリケーションがあります。サーバーのオーバーヘッドを削減する方法を探しています。メインアプリは Tomcat で実行されます。もう 1 つのアプリは MBean で構成されています。Tomcat で MBean を実行する方法はありますか?
別の提案をいただければ幸いです。
MBean は、JRE に含まれる JMX 仕様の一部です。Tomcat の下で MBean を実行できるはずです。Tomcat 5 以降では、MBean サーバーが提供されます。
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();
}
次の 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
このhttp://community.jboss.org/wiki/JBossASTuningSlimingを試してください。確かに、使用していないサービスはたくさんあります。