Cannot forward to error page for request ......
今天现场报了以下问题:
Cannot forward to error page for request [/order/search] as the response has already been committed. As a result,
the response may have the wrong status code. If your application is running on WebSphere Application Server you may be
able to resolve this problem by setting com.ibm.ws.webcontainer.invokeFlushAfterService to false"
从这个错误信息中,我们可以看到,信息提示我们无法前进到错误页面,在请求:/order/search这个url时。后面又提示我们,可以返回了一个错误的状态编码,然后提示我们去设置一个环境变量。
从这个情况中,我们可以预想到以下几种原因:
1.forward的url关联的视图存在问题,导致无法展现
2.forward的url错误
3.在执行这个请求中,出现了相关的逻辑错误,导致返回错误的状态码
第一个和第二个错误很好排查,但是第三个错误,需要查看该url关联的所有逻辑,找出导致出现错误码的原因。
我的现场错误还出现了以下信息:
2018-11-01T06:46:30.891Z,paas-03,org.apache.catalina.connector.ClientAbortException: java.io.IOException: Connection reset by peer
2018-11-01T06:46:30.892Z,paas-03,#011at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:96) ~[catalina.jar:8.5.13]
2018-11-01T06:46:30.893Z,paas-03,#011at net.bull.javamelody.internal.web.CounterResponseStream.write(CounterResponseStream.java:81) ~[javamelody-core-1.68.0.jar:1.68.0]
2018-11-01T06:46:30.893Z,paas-03,#011at com.fasterxml.jackson.core.json.UTF8JsonGenerator.flush(UTF8JsonGenerator.java:1047) ~[jackson-core-2.8.7.jar:2.8.7]
2018-11-01T06:46:30.893Z,paas-03,#011at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:285) ~[spring-web-4.3.7.RELEASE.jar:4.3.7.RELEASE]
2018-11-01T06:46:30.894Z,paas-03,#011at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:81) ~[spring-web-4.3.7.RELEASE.jar:4.3.7.RELEASE]
2018-11-01T06:46:30.894Z,paas-03,#011at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:132) ~[spring-webmvc-4.3.7.RELEASE.jar:4.3.7.RELEASE]
2018-11-01T06:46:30.895Z,paas-03,#011at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) ~[servlet-api.jar:na]
2018-11-01T06:46:30.897Z,paas-03,#011at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) [catalina.jar:8.5.13]
2018-11-01T06:46:30.899Z,paas-03,#011at org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:115) [spring-boot-1.5.2.RELEASE.jar:1.5.2.RELEASE]
2018-11-01T06:46:30.900Z,paas-03,#011at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [catalina.jar:8.5.13]
2018-11-01T06:46:30.900Z,paas-03,#011at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [catalina.jar:8.5.13]
2018-11-01T06:46:30.900Z,paas-03,#011at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80) [catalina.jar:8.5.13]
2018-11-01T06:46:30.901Z,paas-03,#011at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799) [tomcat-coyote.jar:8.5.13]
2018-11-01T06:46:30.901Z,paas-03,#011at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-coyote.jar:8.5.13]
2018-11-01T06:46:30.901Z,paas-03,#011at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861) [tomcat-coyote.jar:8.5.13]
2018-11-01T06:46:30.901Z,paas-03,#011at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:8.5.13]
2018-11-01T06:46:30.902Z,paas-03,#011at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) ~[na:1.8.0_102]
2018-11-01T06:46:30.903Z,paas-03,#011at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:101) ~[tomcat-coyote.jar:8.5.13]
2018-11-01T06:46:30.904Z,paas-03,#011at org.apache.coyote.Response.doWrite(Response.java:518) ~[tomcat-coyote.jar:8.5.13]
“Connection reset by peer”表示当前服务器接受到了通信对端发送的TCP RST信号,即通信对端已经关闭了连接,通过RST信号希望接收方关闭连接。
很明显相关联的服务,主动关闭了连接,我寻思这可能存在以下情况:
1.关联服务出现错误或者崩溃
2.关联服务长时间未返回,比如数据查询时间过长,但设置了超时时间,超过规定时间关闭连接
我看下关联服务的日志,发现有sql查询时间过长的情况,大概40秒,试着增加过滤条件,sql查询时间变少了,上述的bug就不出现了。
Cannot forward to error page for request ......的更多相关文章
- Whitelabel Error Page 专题
Spring boot为错误视图提供了如下错误属性:timestamp:错误发生的时间status:HTTP状态码error:错误原因exception:异常的类名message:异常消息(如果这个错 ...
- 在ASP.NET Core使用Middleware模拟Custom Error Page功能
一.使用场景 在传统的ASP.NET MVC中,我们可以使用HandleErrorAttribute特性来具体指定如何处理Action抛出的异常.只要某个Action设置了HandleErrorAtt ...
- arcgis server "System.Web.Services.Protocols.SoapException: Error processing server request".
在 Arcgis Server 10中创建第一个程序,运行的时候就报错:System.Web.Services.Protocols.SoapException: Error processing se ...
- SpringBoot接口服务处理Whitelabel Error Page(转)
To switch it off you can set server.error.whitelabel.enabled=false http://stackoverflow.com/question ...
- jsp 的四个作用域 :page、request、session和application的区别 (转)
1.简单说 page指当前页面.在一个jsp页面里有效 2.request 指从http请求到服务器处理结束,返回响应的整个过程.在这个过程中使用forward方式跳转多个jsp.在这些页面里你都可以 ...
- jsp的四个作用域page、request、session、application
1.简单说 page指当前页面.在一个jsp页面里有效 2.request 指从http请求到服务器处理结束,返回响应的整个过程.在这个过程中使用forward方式跳转多个jsp.在这些页面里你都可以 ...
- page、request、session和application有什么区别?
转自:http://liuyuru.iteye.com/blog/773367 1.简单说 page指当前页面.在一个jsp页面里有效 2.request 指从http请求到服务器处理结束,返回响应的 ...
- SpringBoot接口服务处理Whitelabel Error Page
转载请注明来源:http://blog.csdn.net/loongshawn/article/details/50915979 <SpringBoot接口服务处理Whitelabel Erro ...
- Spring Boot Web Error Page处理
spring Boot默认是whitelabel error page. 其实我们可以自己处理,由于时间有限,所以就简单说明一下方法. 首先配置 @Configuration public class ...
随机推荐
- Pytho条件判断
def health_status(): height = float(input("请输入身高(单位:米) :")) weight = float(input("请输入 ...
- Redis类的源码使用
$redis = new Redis(); //连接redis服务器 $redis->connect('127.0.0.1', '6379'); $key = "key"; ...
- rt-thread平台 动态装载实现原理
原理分析: a.在链接脚本link.lds里定义了专门存放动态符号表的段RTMSymTab. b.内核对外提供可延时绑定的接口在rtm.h中通过RTM_EXPORT将一对对符号+地址构成的表存放到RT ...
- GridView更新后获取不到文本框修改后的值
需要在Page_Load事件里为gridview绑定数据时,添加回传判断 if (!IsPostBack) { 绑定数据 }
- docker18.09.5 Dockerfile文件编写
Dockerfile命令详解(超全版本) https://www.cnblogs.com/dazhoushuoceshi/p/7066041.html 案例1 dockerfile文件内容: FRO ...
- python_hashlib模块
1 网站登陆 import random import string import pickle # data1 = string.ascii_letters # print("data1数 ...
- 廖雪峰Java8JUnit单元测试-1JUnit简介-1JUnit测试
测试驱动开发(Test Driver Development) 1.使用main()方法测试的缺点: 只能有1个main()方法,不能把测试代码分离 没有打印出测试结果和期望结果,例如expected ...
- centos7安装nginx,以及使用node测试反向代理
1.添加nginx的安装源 vi /etc/yum.repos.d/nginx.repo 2.输入下面内容,并保存退出 [nginx] name=nginx repo baseurl=http://n ...
- 图片支持get请求访问
BufferedInputStream in = new BufferedInputStream(doc2.getContent());//读取文件到输入流 OutputStream out = re ...
- text_CNN笔记
Text-CNN模型作为文本分类模型,通过验证实验以及业界的共识,在文本分类任务中,CNN模型已经能够取到比较好的结果,虽然在某些数据集上效果可能会比RNN稍差一点,但是CNN模型训练的效率更高.所以 ...