異常問題Software caused connection abort: socket write error

異常求解決

今天碰到一個異常
src = "/12319/upload/events/20170629130951802.wav"
然後在jsp頁面裏面寫了個window.open
window.open(src, '12319Audio', 'height=150px,width=400px,top=150,left=100,toolbar=no, menubar=no,scrollbars=no,resizable=no,location=no,status=no');

誰有沒有碰到過類似的情況,有什麼解決方案沒??

 

這個打開新窗口的操作有時不會報異常,一旦第一個異常出現後,其他的都會出現異常

關鍵這個操作是純粹的打開一個URL地址,和後臺的唯一關係就是進了一次過濾器,網上實在搜不到答案


最後的結果是音樂文件可以正常播放,而且所有的功能都正常運行,就是在MyEclipse的console欄裏面報異常

 

ClientAbortException:  java.net.SocketException: Software caused connection abort: socket write error

at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:388)

at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:462)

at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366)

at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:413)

at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:401)

at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:91)

at org.apache.catalina.servlets.DefaultServlet.copyRange(DefaultServlet.java:2116)

at org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:1948)

at org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:1006)

at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:411)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at com.asam.buz.common.filter.LoggerMDCFilter.doFilterInternal(LoggerMDCFilter.java:18)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at com.asam.buz.common.filter.FlashFilter.doFilterInternal(FlashFilter.java:25)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)

2017-06-29 18:03:03.209 [http-bio-8080-exec-10] DEBUG com.asam.buz.common.filter.UEditorUploadFilter - url: /12319/upload/events/20170629130957576.wav ,self: false

 

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:96)

at com.asam.buz.common.filter.UEditorUploadFilter.doFilter(UEditorUploadFilter.java:69)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:744)

Caused by: java.net.SocketException: Software caused connection abort: socket write error

at java.net.SocketOutputStream.socketWrite0(Native Method)

at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)

at java.net.SocketOutputStream.write(SocketOutputStream.java:159)

at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:215)

at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:462)

at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366)

at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:240)

at org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:84)

at org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBuffer.java:192)

at org.apache.coyote.Response.doWrite(Response.java:504)

at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:383)

... 42 more

 

解決辦法:

 

 

如下,在攔截器中第一次請求是正常的,但是第二次請求則請求了三次,而前端只能顯示一個頁面,所以會出異常

 

 

2017-06-29 18:13:04.270 [http-bio-8080-exec-9] DEBUG com.asam.buz.common.filter.UEditorUploadFilter - url: /12319/upload/events/20170629130951802.wav ,self: false

2017-06-29 18:13:10.137 [http-bio-8080-exec-9] DEBUG com.asam.buz.common.filter.UEditorUploadFilter - url: /12319/upload/events/20170629130954778.wav ,self: false

2017-06-29 18:13:10.157 [http-bio-8080-exec-4] DEBUG com.asam.buz.common.filter.UEditorUploadFilter - url: /12319/upload/events/20170629130954778.wav ,self: false

2017-06-29 18:13:10.202 [http-bio-8080-exec-4] ERROR com.asam.buz.common.filter.UEditorUploadFilter -自定義過濾器錯誤: null

ClientAbortException:  java.net.SocketException: Software caused connection abort: socket write error

at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:388)

at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:462)

at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366)

 

具體怎麼解決???????再議,明天用window.load再試一次


str.push('<a href="javascript:;" οnclick="playAudio(\''+b.url+'\')" class="btn btn-primary btn-sm">試聽</a>');

            $(c).html(str.join("  "));

 

開始使用的是a標籤,相當不穩定,不知道哪一次就會發送很多次請求,網上這樣說:使用a標籤比較簡單。但是出錯後確實詭異。

 

前端的哥們告訴我,把a標籤改成span標籤

str.push('<span href="javascript:;" οnclick="playAudio(\''+b.url+'\')" class="btn btn-primary btn-sm">試聽</span>');

            $(c).html(str.join("  "));

就奇蹟般的好了。。。。。。。。。。。。。。。。。


發佈了20 篇原創文章 · 獲贊 5 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章