Inspecting a bean in my JBOSS JMX Agent View fails with an error
Asked Answered
P

3

9

I cannot inspect any of my beans in the JMX Agent View as clicking on any bean results in the error pasted below. Every thing else seems to be working fine within JBOSS as it is properly serving my application.

Environment variables as follows...

PATH = C:\Program Files\Java\jre8\bin;C:\Users\XXX\AppData\Roaming\npm;C:\Program Files (x86)\Java\jre7\bin;C:\Program Files\Java\jre7\bin;

JAVA_HOME = C:\Program Files (x86)\Java\jdk1.8.0_05

JBossWeb/2.0.1.GA - Error report 

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 151 in the jsp file: /inspectMBean.jsp The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files 148: else if (String.valueOf(attrValue).indexOf(sep) == -1) 149: { 150: %> 151: <input type="text" name="<%= attrName %>" value="<%= attrValue.replace("\"","&quot;") %>" <%= readonly %>> 152: <% 153: } 154: else

An error occurred at line: 151 in the jsp file: /inspectMBean.jsp The method replace(char, char) in the type String is not applicable for the arguments (String, String) 148: else if (String.valueOf(attrValue).indexOf(sep) == -1) 149: { 150: %> 151: <input type="text" name="<%= attrName %>" value="<%= attrValue.replace("\"","&quot;") %>" <%= readonly %>> 152: <% 153: } 154: else

Stacktrace: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:415) org.apache.jasper.compiler.Compiler.compile(Compiler.java:308) org.apache.jasper.compiler.Compiler.compile(Compiler.java:286) org.apache.jasper.compiler.Compiler.compile(Compiler.java:273) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:316) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.inspectMBean(HtmlAdaptorServlet.java:220) org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdaptorServlet.java:96) org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doGet(HtmlAdaptorServlet.java:77) javax.servlet.http.HttpServlet.service(HttpServlet.java:690) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

note The full stack trace of the root cause is available in the JBossWeb/2.0.1.GA logs.

JBossWeb/2.0.1.GA

Pentstemon answered 2/5, 2014 at 2:46 Comment(0)
T
12

This worked in jboss-4.2.3.GA: In file

/server/{xxx}/deploy/jmx-console.war/inspectMBean.jsp

replace the affected

replace("\"","&quot;")

with

replaceAll("\"","&quot;")
Thermel answered 10/12, 2015 at 16:14 Comment(2)
I can confirm that this solution works but I only tested it for jboss-4.2.3GA as well using JDK 1.8. Don't know whether it works for other versions of JBoss. It's important to mention here that all occurrences of the replace function need to be replaced by replaceAll (lines 21 and 22 in my version of the file).Plainclothesman
Thanks. Best Solution especially when you are upgrading JDK.Electroscope
D
1

Had the same thing happening.

Turns out I was missing inspectMbean_jsp.class in the dcm4chee-2.17.2-psql\server\default\work\jboss.web\localhost\jmx-console\org\apache\jsp folder.

Not sure why it isn't there

Duthie answered 12/5, 2014 at 18:52 Comment(4)
Will check this out in a few hours. Thank you for the response as this question had previously earned me a tumbleweed merit badge.Pentstemon
what version of java are you using? I was using 1.8 and it wasn't working but 1.7 works fineDuthie
I think I may be using 1.8 but I need to confirm as I have multiple versions loaded.Pentstemon
Same issue using Java 1.8.0_05Hako
T
1

I think more graceful solution would be to ensure that both compilerSourceVM and compilerTargetVM are set to 1.5 or above in jboss/server/default/deploy/jboss-web.deployer/conf/web.xml as in How to change tomcat compiler.

Also JDK 1.5 or above should be present and visible instead of default JDK 1.4 which doesn't understand String.replace method with string params.

Theatrics answered 15/12, 2016 at 10:1 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.