简体   繁体   English

在我的JBOSS JMX代理视图中检查bean失败并显示错误

[英]Inspecting a bean in my JBOSS JMX Agent View fails with an error

I cannot inspect any of my beans in the JMX Agent View as clicking on any bean results in the error pasted below. 我无法在JMX代理视图中检查我的任何bean,因为单击任何bean会导致下面粘贴的错误。 Every thing else seems to be working fine within JBOSS as it is properly serving my application. 其他所有东西似乎都在JBOSS中工作正常,因为它正确地为我的应用程序提供服务。

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; 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 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

This worked in jboss-4.2.3.GA: In file 这适用于jboss-4.2.3.GA:在文件中

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

replace the affected 替换受影响的

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

with

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

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. 事实证明我在dcm4chee-2.17.2-psql \\ server \\ default \\ work \\ jboss.web \\ localhost \\ _jmx-console \\ org \\ apache \\ _jsp文件夹中缺少inspectMbean_jsp.class

Not sure why it isn't there 不知道为什么不存在

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 . 我认为更优雅的解决方案是确保在如何更改tomcat编译器的 jboss/server/default/deploy/jboss-web.deployer/conf/web.xml中将compilerSourceVMcompilerTargetVM都设置为1.5或更高。

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. JDK 1.5或更高版本也应该存在且可见,而不是默认的JDK 1.4,它不能理解带字符串参数的String.replace方法。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM