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

mccainz
  • 3,478
  • 5
  • 35
  • 45

3 Answers3

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;")
Hubert Hirsch
  • 306
  • 3
  • 11
  • 3
    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). – pemistahl Feb 15 '16 at 13:10
  • Thanks. Best Solution especially when you are upgrading JDK. – Sujjad A Mar 30 '21 at 08:28
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

AThom
  • 11
  • 1
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.

Community
  • 1
  • 1
Vadzim
  • 24,954
  • 11
  • 143
  • 151