最近,我们的应用程序开始部署比以前更长(启动时间从大约1.5分钟增加到大约3.5分钟),因为我们切换到较慢的服务器。当这种放缓开始时,副作用开始出现。这是我日志的一大块:
2016-01-10 15:54:23.791 [localhost-startStop-1] INFO o.s.w.servlet.DispatcherServlet - FrameworkServlet 'dispatcher': initialization completed in 6314 ms
2016-01-10 15:54:52.933 [http-nio-8080-exec-2] ERROR o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Failed to invoke @ExceptionHandler method: public org.springframework.http.ResponseEntity<? extends com.kzoinnovations.service.restapi.dto.ResponseBaseErrorDTO> com.kzoinnovations.service.restapi.web.RestExceptionHandler.handle(java.lang.Exception,javax.servlet.http.HttpServletRequest)
org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:393) ~[catalina.jar:8.0.20]
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:426) ~[tomcat-util.jar:8.0.20]
正如您所看到的,错误发生在启动后半分钟内线程http-nio-8080-exec-2
中,但没有人从外部发出HTTP请求。
我们使用Tomcat 8.0.20和Java 1.8.0_31(64位)。