Un MBean peut-il être exécuté sous Tomcat?
Question
Nous avons 2 applications qui fonctionnent sous JBoss. Je cherche un moyen de réduire les frais généraux du serveur. L'application principale fonctionne sous Tomcat. L'autre application est composée de MBeans. Existe-t-il un moyen d'exécuter des MBeans sous Tomcat?
Les suggestions alternatives sont appréciées.
La solution
Les MBeans font partie de la spécification JMX incluse dans l'environnement JRE. Il devrait être possible d'exécuter des MBeans sous Tomcat. Tomcat 5 ou version ultérieure fournit un serveur MBean.
Autres conseils
Vous pouvez utiliser les arguments JVM suivants pour démarrer Tomcat avec MBean activé
-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
Vous devez également utiliser le serveur MBean installé dans tomcat. Vous devez le trouver via:
// 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();
}
Essayez cette http://community.jboss.org/wiki/JBossASTuningingSliming . Bien sûr, vous avez de nombreux services sans utilisation.