首页 > 代码库 > oacore的application log报broken pipe

oacore的application log报broken pipe

后台oacore的application log常常报这样的错误
 
14/06/26 09:28:34.917 html: Servlet error
java.io.IOException: Broken pipe
        at sun.nio.ch.FileDispatcher.write0(Native Method)
        at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:29)
        at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:104)
        at sun.nio.ch.IOUtil.write(IOUtil.java:75)
        at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:334)
        at java.nio.channels.Channels.write(Channels.java:60)
        at java.nio.channels.Channels.access$000(Channels.java:47)
        at java.nio.channels.Channels$1.write(Channels.java:134)
        at com.evermind.server.http.AJPOutputStream.endRequest(AJPOutputStream.java:117)
        at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:317)
        at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
        at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
        at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
        at java.lang.Thread.run(Thread.java:619)

The errors are caused by writing to a connection when the other end has already closed it.
Basically, this is caused by the peer unexpectedly ending the connection (for instance, by closing the browser during an HTTP connection).
When user closes the client session, server cannot write any streams to that client and generates this error.
If you click in a link and before the page is rendered you click in a second one. the first request is canceled and you will see a broken pipe at that time.

错误是由应用向客户端发送信息时,发现客户已经关闭了这个连接。
基本上,这是由客户端突然结束连接(例如,通过关闭浏览器的HTTP连接)。
当用户关闭客户端会话,服务器不能写任何信息流,会生成此错误。
如果你打开一个链接,在页面被渲染之前,你点击第二个。第一个请求突然被取消了,你会看到当时的这样报错。
这是正常行为,不必惊慌。