jetty 9 org.eclipse.jetty.io.EofException at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java

描述:

在web頁(yè)面上傳mp3音頻,控制臺(tái)拋出org.eclipse.jetty.io.EofException異常,但文件正常寫(xiě)入到服務(wù)端。

結(jié)論

最終時(shí)間有限,問(wèn)題依然放著,希望看到這篇文章的同學(xué),如果有思路,或者解決方案,萬(wàn)望留言

EOF是什么

http://www.ruanyifeng.com/blog/2011/11/eof.html

eof是end of file 的簡(jiǎn)寫(xiě)。在Linux系統(tǒng)之中,EOF根本不是一個(gè)字符,而是當(dāng)系統(tǒng)讀取到文件結(jié)尾,所返回的一個(gè)信號(hào)值(也就是-1)。**至于系統(tǒng)怎么知道文件的結(jié)尾,資料上說(shuō)是通過(guò)比較文件的長(zhǎng)度。

網(wǎng)上相關(guān)的問(wèn)答

http://archive.eclipse.org/jetty/9.0.0.M1/apidocs/org/eclipse/jetty/io/EofException.html

A Jetty specialization of EOFException.This is thrown by Jetty to distinguish(注:區(qū)分) between EOF received from the connection(注:來(lái)自連接的EOF), vs and EOF thrown by some application talking to some other file/socket etc(注:等). The only difference in handling is that Jetty EOFs are logged less verbosely(注:記錄較少的日志).

譯:用以區(qū)分IO異常是來(lái)自文件/socket, 還是來(lái)自connection。

http://www.dewen.net.cn/q/16946/%E4%BD%BF%E7%94%A8jetty%E5%8F%91%E7%8E%B0%E5%A4%A7%E9%87%8Forg.eclipse.jetty.io.EofException%E5%BC%82%E5%B8%B8%E6%97%A5%E5%BF%97

這篇文章中,提到作者在網(wǎng)絡(luò)上查詢(xún)的結(jié)果是,客戶端或操作系統(tǒng)主動(dòng)關(guān)閉鏈接導(dǎo)致異常。

https://github.com/loklak/loklak_server/issues/12

a broken pipe(注:管道) throwed by jetty probably means that the http client disconnected while the loklak (注:一個(gè)推特的搜索服務(wù):http://loklak.org/ 當(dāng)然這里和我們討論的無(wú)關(guān))server was streaming. This is therefore a normal behaviour, not a bug of loklak. It could mean that this is a bug on the client side.Because this is not a bug and there is also no hint (注:暗示)where in the code of loklak the exception is thrown, there is not much to do here.

譯:jetty拋出 管道斷開(kāi)異常,可能意味服務(wù)端流正在進(jìn)行的時(shí)候,http客戶端斷開(kāi)了連接。這是正常的行為,不是loklak的bug。它可能是客戶端的一個(gè)bug。因?yàn)檫@不是一個(gè)(服務(wù)端的)bug并且拋出異常的代碼也沒(méi)有做出任何提示,所以不需要做什么。

https://jira.blazegraph.com/browse/BLZG-1175
這片文章也有類(lèi)似的異常

異常摘錄:

2016-04-29 10:58:46,632 [org.springframework.web.servlet.DispatcherServlet]-[DEBUG] Could not complete request
org.eclipse.jetty.io.EofException
    at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:192)
    at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:408)
    at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:302)
    at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:129)
    at org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:708)
    at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:246)
    at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:208)
    at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:480)
    at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:768)
    at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:801)
    at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:147)
    at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:140)
    at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:378)
    at org.eclipse.jetty.util.IO.copy(IO.java:152)
    at org.eclipse.jetty.util.resource.Resource.writeTo(Resource.java:634)
    at org.eclipse.jetty.servlet.DefaultServlet.sendData(DefaultServlet.java:992)
    at org.eclipse.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:534)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:595)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:156)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:72)
    at org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler.handleRequest(DefaultServletHttpRequestHandler.java:122)
    at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:51)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:499)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: 您的主機(jī)中的軟件中止了一個(gè)已建立的連接。
    at sun.nio.ch.SocketDispatcher.write0(Native Method)
    at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:51)
    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:492)
    at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:170)
    ... 61 more
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,628評(píng)論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,276評(píng)論 6 342
  • 來(lái)聊聊過(guò)一個(gè)好的生活是否有捷徑。 今天很多人看到北京、上海等城市那么高的生活成本開(kāi)始擔(dān)心,以今天自己的...
    悟空姐姐666閱讀 186評(píng)論 0 0
  • 習(xí)慣的力量,21天養(yǎng)成一個(gè)好習(xí)慣,可以不知不覺(jué)完成很多事,譬如幾天時(shí)間我已經(jīng)寫(xiě)了1萬(wàn)多字啦!只看字?jǐn)?shù),不看質(zhì)量,是...
    鵬之翼閱讀 261評(píng)論 0 0

友情鏈接更多精彩內(nèi)容