Pode um MBean ser executado no Tomcat?
Pergunta
Temos 2 aplicações que rodam sob JBoss. Eu estou procurando uma maneira de reduzir a sobrecarga do servidor. O aplicativo principal é executado sob Tomcat. O outro aplicativo é composto de MBeans. Existe uma maneira de executar MBeans no Tomcat?
sugestões alternativas são apreciados.
Solução
MBeans são uma parte da especificação JMX, que está incluído no JRE. Deve ser possível executar MBeans sob Tomcat. Tomcat 5 ou posterior fornece um servidor MBean.
Outras dicas
Você pode usar os seguintes argumentos JVM para inicialização Tomcat com MBean habilitado
-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
Você também deve usar o servidor MBean que está em tomcat - você tem que descobrir que uma 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();
}
Tente este http://community.jboss.org/wiki/JBossASTuningSliming . Claro que você tem muitos serviços sem uso.