今天现场报了以下问题:

 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 ......的更多相关文章

  1. Whitelabel Error Page 专题

    Spring boot为错误视图提供了如下错误属性:timestamp:错误发生的时间status:HTTP状态码error:错误原因exception:异常的类名message:异常消息(如果这个错 ...

  2. 在ASP.NET Core使用Middleware模拟Custom Error Page功能

    一.使用场景 在传统的ASP.NET MVC中,我们可以使用HandleErrorAttribute特性来具体指定如何处理Action抛出的异常.只要某个Action设置了HandleErrorAtt ...

  3. arcgis server "System.Web.Services.Protocols.SoapException: Error processing server request".

    在 Arcgis Server 10中创建第一个程序,运行的时候就报错:System.Web.Services.Protocols.SoapException: Error processing se ...

  4. SpringBoot接口服务处理Whitelabel Error Page(转)

    To switch it off you can set server.error.whitelabel.enabled=false http://stackoverflow.com/question ...

  5. jsp 的四个作用域 :page、request、session和application的区别 (转)

    1.简单说 page指当前页面.在一个jsp页面里有效 2.request 指从http请求到服务器处理结束,返回响应的整个过程.在这个过程中使用forward方式跳转多个jsp.在这些页面里你都可以 ...

  6. jsp的四个作用域page、request、session、application

    1.简单说 page指当前页面.在一个jsp页面里有效 2.request 指从http请求到服务器处理结束,返回响应的整个过程.在这个过程中使用forward方式跳转多个jsp.在这些页面里你都可以 ...

  7. page、request、session和application有什么区别?

    转自:http://liuyuru.iteye.com/blog/773367 1.简单说 page指当前页面.在一个jsp页面里有效 2.request 指从http请求到服务器处理结束,返回响应的 ...

  8. SpringBoot接口服务处理Whitelabel Error Page

    转载请注明来源:http://blog.csdn.net/loongshawn/article/details/50915979 <SpringBoot接口服务处理Whitelabel Erro ...

  9. Spring Boot Web Error Page处理

    spring Boot默认是whitelabel error page. 其实我们可以自己处理,由于时间有限,所以就简单说明一下方法. 首先配置 @Configuration public class ...

随机推荐

  1. supervisor支持python虚拟环境venv

    在项目中使用supervisor时,如何在虚拟环境下启动一直存在些小问题. 比如我要写 Cesi程序的监听,我是手动安装的执行之前 要先加载环境source venv/bin/activate 所以写 ...

  2. Java 静态代码的作用

    public student{ private static int MAXNUM=100; static{ System.out.println(MAXNUM); } student(){ Syst ...

  3. install rust

    Step 1. Trial 1 Download rustup-init.exe exec rustup-init.exe SW hangs 2. Trial 2 install rust-1.33. ...

  4. Vue.js 父子组件之间通信的方式

    Vue 父子组件之间的同学有一下几种方式: 1. props 2. $emit -- 组件封装用的比较多 3. .sync -- 语法糖 4. $attrs 和 $listeners -- 组件封装用 ...

  5. DNS 负载均衡

    相关文章: 文章 网址 一个域名可以绑定多个IP吗?由此引发的调查 https://ask.zkbhj.com/?/article/139

  6. jquery对append进的元素的监听操作

    通常append是再页面加载完之后才加入进去的,此时使用click方法是没有效果的,应使用document.on来实现对元素的监听. 例: $(document).on("click&quo ...

  7. spring 事物不回滚

    使用spring控制事物,为什么有些情况事物,事物不回滚呢?? 默认spring事务只在发生未被捕获的 RuntimeException时才回滚.   spring aop  异常捕获原理: 被拦截的 ...

  8. 基于STM8的GPIO操作---STM8-第一章

    1. 综诉 也许单片机在你看来是一件不太容易的事,但据我所知,单片机,无非就是控制它的GPIO口,所以可以看出,学会如何操作控制GPIO口对使用单片机来说是很重要的一件事. 在装载STM8的单片机中, ...

  9. java.lang.Byte 类源码浅析

    Byte 类字节,属于Number. public final class Byte extends Number implements Comparable<Byte> { /** * ...

  10. stm32 uart 中断 蜜汁bug

    在项目中,使用stm32f103,配置uart1接收RXNE中断,使用DMA来进行UART1的发送. 初始化代码如下: void uart_init(u32 bound) { GPIO_InitTyp ...