Estoy usando JAMon, y quiero usar el jamon.war
para monitorear mi aplicación. Sin embargo, mi aplicación y la aplicación jamon.war
tienen diferentes cargadores de clases y, por lo tanto, no ven las variables estáticas de las otras (donde los datos están almacenados, por lo que yo entiendo). Obtengo los datos correctos cuando llamo al MonitorFactory.getReport()
en mi aplicación.Usando jamon.war en tomcat
¿Cómo funciona?
Derecho, si comparte un contenedor entre diferentes aplicaciones, debe hacerlo a través del directorio tomcat/lib. Cada aplicación web tiene de hecho su propio cargador de clases, pero puede ponerlas en comunicación a través del cargador de clases común. Eche un vistazo [aquí] (http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html). – javanna
Puede observar el mismo problema con EhCache shared 'CacheManager' (el mismo administrador para todos los WAR en Tomcat) - si el' ehcache.jar' se incluye con cada aplicación, cada uno tendrá su propio 'CacheManager' ya que EhCache usa' static' field para compartir manager ... Una vez que 'ehcache.jar' se coloca en el directorio'/lib', ambas aplicaciones comparten el mismo 'CacheManager' y las cachés. –