java.io.IOException: Broken pipe
先说说今天的问题,在和前端联调时,反馈经常出现超时情况,经过观察后台日志,发现有如下:
2025-06-05 14:29:58.678 [,,] DEBUG 1 --- [http-nio-8080-exec-6] o.apache.coyote.http11.Http11Processor :175 : Error state [CLOSE_CONNECTION_NOW] reported while processing requestjava.io.IOException: Broken pipeat sun.nio.ch.FileDispatcherImpl.write0(Native Method)at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)at sun.nio.ch.IOUtil.write(IOUtil.java:65)at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:469)at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:136)at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1431)at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:775)at org.apache.tomcat.util.net.SocketWrapperBase.flushBlocking(SocketWrapperBase.java:739)at org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase.java:723)at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.end(Http11OutputBuffer.java:561)at org.apache.coyote.http11.filters.ChunkedOutputFilter.end(ChunkedOutputFilter.java:201)at org.apache.coyote.http11.Http11OutputBuffer.end(Http11OutputBuffer.java:234)at org.apache.coyote.http11.Http11Processor.finishResponse(Http11Processor.java:1214)at org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:385)at org.apache.coyote.Response.action(Response.java:207)at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:260)at org.apache.catalina.connector.Response.finishResponse(Response.java:436)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:372)at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
问题分析:
Broken pipe
表示服务器尝试向客户端(如浏览器、App)写入数据时,客户端 已提前关闭了连接,通常 不会直接影响业务逻辑。所以可以忽略, 或者尝试设置连接超时时间长一点,或客户端重试