java.io.IOException: Stream closed

来源:互联网 发布:网络的好处作文 编辑:程序博客网 时间:2024/04/29 20:55
         这个异常发生在从某一个input  stream流读取信息的时候发生的。在我们目前的系统中出现这个异常是比较不正常,特别是这个异常并不是很容易重现。我和本地的QA都没有重现出来。

        虽然不能重现bug,但是凭借经验来说,这个异常是发生在这样一种场景之下:多个线程索引同一个input  stream,当某一个thread在执行完之后,把这个inputstream关闭了;而此时正在从这个input  stream流中读取信息的线程就会抛出  java.io.IOException:  Stream  closed  异常。

    终于找到这个异常的根源所在,原来是两个页面同时调用一个jsp,这个jsp中的内建对象
out在执行out.close()时发生的异常,也就是当某一个thread(对应一个jsp)在执行完之
后,把这个stream关闭了;而此时正在从这个stream中读取信息的另一个jsp就会抛出  
java.io.IOException:  Stream  closed  异常。
 
   然而注释掉这一句,程序虽然不会再报这个异常,访问也正常,但当访问jsp页面的速度
过慢的时候,此刻同时被调用的jsp将不会被执行,