RE: [Ejtools-users] Problems in running web based JMX browser
Brought to you by:
letiemble
|
From: ETIEMBLE L. <lau...@or...> - 2002-12-11 10:20:58
|
Hi, Here are the facts : - the mx4j classes are loaded in the "catalina" class-loader, so they = are not visible from other classloaders. - the MBean server discovery is made by a class called = MBeanServerFactory. - copying the mx4j classes in the WEB-INF/lib directory of the JMX = Browser WebApp makes these classes visible from the WebApp, but these classes = are unrelated to the classes loaded by the "catalina" classloader. So there = are two copies of the MBeanServerFactory class. So here is one solution : The mx4j classes must be loaded by a common classloader visible by the "catalina" classloader and by the WebApp classloader. I have moved the mx4j.jar library into the common/lib directory of the tomcat distrib, so the mx4j classes are loaded by the "common" = classloader. Doing this move makes the JMX Browser works. Tested on : - WinNT4.0 SP6 - JDK1.4.0_02 - Tomcat 4.1.12 Regards -----Message d'origine----- De : Sam Cheung [mailto:sy_...@ya...] Envoy=E9 : mardi 10 d=E9cembre 2002 20:51 =C0 : ETIEMBLE Laurent; ejt...@li... Objet : RE: [Ejtools-users] Problems in running web based JMX browser Thanks.=20 Is there a solution to your #2 problem. I don't see the page you are referring help resolving that problem. Thank you. --- ETIEMBLE Laurent <lau...@or...> wrote: > Hi,=20 >=20 > After some investigations it appears that a > standalone Tomcat shows two > majors problems for the use of the Web Based JMX > Browser : > - first, the JMX classes are not visible from a > WebApp because they are > loaded by a different classloader. Putting the > mx4j-jmx.jar into the > WEB-INF/lib directory of the exploded webapp solves > the dependencies > problem. > - second, the MBean server is created in the > catalina classloader which is > not visible by the webapps. As the JMX Browser > assumes that MBean server is > visible from the webapp, it failed. >=20 > See : > http://jakarta.apache.org/tomcat/tomcat-4.1-doc/class-loader-howto.html > for > more details. >=20 > Hope, it will help you to understand the problem. >=20 >=20 > -----Message d'origine----- > De : Sam Cheung [mailto:sy_...@ya...] > Envoy=E9 : samedi 7 d=E9cembre 2002 23:16 > =C0 : Laurent Etiemble; > ejt...@li... > Objet : RE: [Ejtools-users] Problems in running web > based JMX browser >=20 >=20 > I just download the WAR file of ejtools and put that > in the Tomcat 4.1.16 beta web application directory > and then hit the index.jsp of the web application > from > a browser. >=20 > --- Laurent Etiemble <eti...@no...> wrote: > > Can you describe what you are doing and tell me > when > > it failed (at > > deployment, on which action, or whatever). > >=20 > > Cheers > >=20 > > -----Original Message----- > > From: ejt...@li... > > > [mailto:ejt...@li...]On > > Behalf Of Sam > > Cheung > > Sent: vendredi 6 decembre 2002 18:05 > > To: ejt...@li... > > Subject: [Ejtools-users] Problems in running web > > based JMX browser > >=20 > >=20 > > Hi, > >=20 > > I got the following error when I run the JMX > browser > > on Tomcat 4.1.16 beta: > >=20 > > Could some one please help. > > HTTP Status 500 - > >=20 > > > ------------------------------------------------------------------------= ---- > > ---- > >=20 > > type Exception report > >=20 > > message > >=20 > > description The server encountered an internal > error > > () that prevented it from fulfilling this request. > >=20 > > exception > >=20 > > org.apache.jasper.JasperException: > > javax/management/NotificationListener > > at > > > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.ja= va:2 > > 48) > > at > > > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)= > > at > > > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) > > at > > > javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > > at > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica= tion > > FilterChain.java:247) > > at > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt= erCh > > ain.java:193) > > at > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv= e.ja > > va:260) > > at > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i= nvok > > eNext(StandardPipeline.java:643) > > at > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4= 80) > > at > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > at > > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv= e.ja > > va:191) > > at > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i= nvok > > eNext(StandardPipeline.java:643) > > at > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4= 80) > > at > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > at > > > org.apache.catalina.core.StandardContext.invoke(StandardContext.java:241= 5) > > at > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java= :180 > > ) > > at > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i= nvok > > eNext(StandardPipeline.java:643) > > at > > > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa= lve. > > java:170) > > at > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i= nvok > > eNext(StandardPipeline.java:641) > > at > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java= :172 > > ) > > at > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i= nvok > > eNext(StandardPipeline.java:641) > > at > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4= 80) > > at > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > at > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.= java > > :174) > > at > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i= nvok > > eNext(StandardPipeline.java:643) > > at > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4= 80) > > at > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > at > > > org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) > > at > > > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:43= 1) > > at > > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC= onne > > ction(Http11Protocol.java:386) > > at > > > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:53= 7) > > at > > > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool= .jav > > a:533) > > at java.lang.Thread.run(Thread.java:536) >=20 =3D=3D=3D message truncated =3D=3D=3D __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com |