获取java.io.IOException:从下载流关闭流

获取java.io.IOException:从下载流关闭流,java,vaadin,ioexception,vaadin7,Java,Vaadin,Ioexception,Vaadin7,我目前正在开发一个Vaadin应用程序。我正在使用的功能是创建两个PDF,合并它们,然后将其作为临时文件下载到客户端。只是有几次,我得到了这个奇怪的IOException,没有引用我的代码。知道是什么引起的吗 堆栈跟踪: java.io.IOException: Stream Closed at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(Unknown Sour

我目前正在开发一个Vaadin应用程序。我正在使用的功能是创建两个PDF,合并它们,然后将其作为临时文件下载到客户端。只是有几次,我得到了这个奇怪的IOException,没有引用我的代码。知道是什么引起的吗

堆栈跟踪:

java.io.IOException: Stream Closed
    at java.io.FileInputStream.readBytes(Native Method)
    at java.io.FileInputStream.read(Unknown Source)
    at com.vaadin.server.DownloadStream.writeResponse(DownloadStream.java:304)
    at com.vaadin.server.AbstractClientConnector.handleConnectorRequest(AbstractClientConnector.java:646)
    at com.vaadin.server.ConnectorResourceHandler.handleRequest(ConnectorResourceHandler.java:83)
    at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1408)
    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:350)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
    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: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.HandlerList.handle(HandlerList.java:52)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:497)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
    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(Unknown Source)
知道是什么引起的吗

java.io.IOException:流关闭
是由于关闭流然后继续使用它而导致的。这是代码中的一个bug


注意:这不是由对等方所做的任何事情造成的,尤其不是由对等方关闭其连接端造成的。

感谢您的回复!我已经走了这么远了。奇怪的是,当你在我的本地计算机上运行这个应用程序时,我从来没有得到错误。我有一个服务器,大约有50个用户在线。有什么方法可以在我的本地测试服务器上创建此错误以更好地了解我的流吗?您可以按照我上面所说的创建错误,但我看不到要点。你要做的就是修复它,即在抛出异常之前找到关闭流的路径。你有没有想过为什么这个错误不会定期出现?它只是偶尔弹出。呃,相关的代码路径只是偶尔执行?你考虑过调查吗?再次感谢你的快速回复!我将尝试调查代码。