Bug 56244 - 8.0.3: In jmxproxy: javax.management.ReflectionException: Cannot find getter method getJarPath
Summary: 8.0.3: In jmxproxy: javax.management.ReflectionException: Cannot find getter ...
Status: RESOLVED FIXED
Alias: None
Product: Tomcat 8
Classification: Unclassified
Component: Catalina (show other bugs)
Version: 8.0.3
Hardware: PC All
: P2 normal (vote)
Target Milestone: ----
Assignee: Tomcat Developers Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-11 10:15 UTC by Konstantin Kolinko
Modified: 2014-03-11 10:32 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Konstantin Kolinko 2014-03-11 10:15:19 UTC
(Already raised on users list by Christopher Schultz. Here is my reproduction recipe).

Steps to reproduce:
With current 8.0.x:
1. Grant a user the role of manager-jmx

2. Start Tomcat and access the following web page:
http://localhost:8080/manager/jmxproxy

3. The page is displayed successfully, as expected,
but the following errors are logged into catalina.$date.log file:

[[[
11-Mar-2014 13:55:36.048 SEVERE [http-nio-8080-exec-3] org.apache.catalina.mbeans.MBeanDumper.dumpBeans Error getting attribute Catalina:type=WebappClassLoader,host=localhost,context=/examples jarPath
 javax.management.ReflectionException: Cannot find getter method getJarPath
	at org.apache.tomcat.util.modeler.ManagedBean.getGetter(ManagedBean.java:461)
	at org.apache.tomcat.util.modeler.BaseModelMBean.getAttribute(BaseModelMBean.java:180)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:647)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678)
	at org.apache.catalina.mbeans.MBeanDumper.dumpBeans(MBeanDumper.java:82)
	at org.apache.catalina.manager.JMXProxyServlet.listBeans(JMXProxyServlet.java:186)
	at org.apache.catalina.manager.JMXProxyServlet.doGet(JMXProxyServlet.java:122)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:301)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:615)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:74)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1017)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:652)
	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1575)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1533)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.NoSuchMethodException: org.apache.catalina.loader.WebappClassLoader.getJarPath()
	at java.lang.Class.getMethod(Class.java:1665)
	at org.apache.tomcat.util.modeler.ManagedBean.getGetter(ManagedBean.java:454)
	... 32 more
]]]

Expected: No such error messages in the logs.
Comment 1 Konstantin Kolinko 2014-03-11 10:32:14 UTC
Fixed in trunk by r1576263 and will be in 8.0.4.