Glassfish IO挂起来自客户端的视频请求

时间:2014-10-09 06:42:48

标签: google-chrome glassfish-3 servlet-filters mediaelement.js

我有一个Glassfish服务器3.1.2,它有一些mp4文件。

现在,当谷歌浏览器请求某些视频时,服务器会挂起,并且对服务器的任何后续请求都会失败。

关闭客户端浏览器(Chrome)后,服务器将恢复。

我在这里有一个博客 - blog.nvoids.in,它有一些mp4文件。

从Chrome访问网站时,服务器挂起,因为mp4文件基于Glassfish服务器。

服务器上的日志显示 -

org.apache.catalina.connector.ClientAbortException: java.io.IOException: Client is busy or timed out
    at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:430)
    at com.sun.grizzly.util.buf.ByteChunk.flushBuffer(ByteChunk.java:458)
    at com.sun.grizzly.util.buf.ByteChunk.append(ByteChunk.java:380)
    at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:455)
    at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:442)
    at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:160)
    at org.apache.catalina.servlets.DefaultServlet.copyRange(DefaultServlet.java:2365)
    at org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:2100)
    at org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:1090)
    at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:466)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
    at newa.StoreImage.doFilter(StoreImage.java:100)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
    at newa.CEFilter.doFilter(CEFilter.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: Client is busy or timed out
    at com.sun.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:129)
    at com.sun.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:76)
    at com.sun.grizzly.http.SocketChannelOutputBuffer.flushChannel(SocketChannelOutputBuffer.java:426)
    at com.sun.grizzly.http.SocketChannelOutputBuffer.flushBuffer(SocketChannelOutputBuffer.java:498)
    at com.sun.grizzly.http.SocketChannelOutputBuffer.realWriteBytes0(SocketChannelOutputBuffer.java:382)
    at com.sun.grizzly.http.SocketChannelOutputBuffer.realWriteBytes(SocketChannelOutputBuffer.java:364)
    at com.sun.grizzly.tcp.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite

(InternalOutputBuffer.java:894)
    at com.sun.grizzly.tcp.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:159)
    at com.sun.grizzly.tcp.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:661)
    at com.sun.grizzly.tcp.Response.doWrite(Response.java:685)
    at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:425)
    ... 43 more
|#]

    at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:430)|#]

    at com.sun.grizzly.util.buf.ByteChunk.flushBuffer(ByteChunk.java:458)|#]

    at com.sun.grizzly.util.buf.ByteChunk.append(ByteChunk.java:380)|#]

    at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:455)|#]

    at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:442)|#]

    at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:160)|#]

    at org.apache.catalina.servlets.DefaultServlet.copyRange(DefaultServlet.java:2365)|#]

    at org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:2100)|#]

    at org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:1090)|#]

    at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:466)|#]

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)|#]

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)|#]

    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)|#]

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)|#]

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)|#]

    at newa.StoreImage.doFilter(StoreImage.java:100)|#]

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)|#]

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)|#]

    at newa.CEFilter.doFilter(CEFilter.java:193)|#]

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)|#]

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)|#]

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)|#]

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)|#]

    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)|#]

    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)|#]

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)|#]

    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)|#]

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)|#]

    at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)|#]

    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)|#]

    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)|#]

    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)|#]

    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)|#]

    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)|#]

    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)|#]

    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)|#]

    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)|#]

    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)|#]

    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)|#]

    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)|#]

    at com.sun.grizzly.ContextTask.run(ContextTask.java:71)|#]

    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)|#]

    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)|#]

    at java.lang.Thread.run(Thread.java:745)|#]

Caused by: java.io.IOException: Client is busy or timed out|#]

    at com.sun.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:129)|#]

    at com.sun.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:76)|#]

    at com.sun.grizzly.http.SocketChannelOutputBuffer.flushChannel(SocketChannelOutputBuffer.java:426)|#]

    at com.sun.grizzly.http.SocketChannelOutputBuffer.flushBuffer(SocketChannelOutputBuffer.java:498)|#]

    at com.sun.grizzly.http.SocketChannelOutputBuffer.realWriteBytes0(SocketChannelOutputBuffer.java:382)|#]

    at com.sun.grizzly.http.SocketChannelOutputBuffer.realWriteBytes(SocketChannelOutputBuffer.java:364)|#]

    at com.sun.grizzly.tcp.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite

(InternalOutputBuffer.java:894)|#]

    at com.sun.grizzly.tcp.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:159)|#]

    at com.sun.grizzly.tcp.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:661)|#]

    at com.sun.grizzly.tcp.Response.doWrite(Response.java:685)|#]

    at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:425)|#]

    ... 43 more|#]

0 个答案:

没有答案