ServletOutputStream写入时间太长

时间:2012-01-10 08:53:22

标签: java servlets

我正在尝试将大型XML文件(超过1.5M)写入ServletOutputStream,这需要很长时间,接近7分钟左右甚至更长时间。
我正在做的事情如下 -

1. SOAPMessage soapRes; // Consider this is populated somewhere and we have the value here  
2. ServletResponse res; // Consider this is populated somewhere and we have the value here  
3. ServletOutputStream os = res.getOutputStream();  
4. ByteArrayOutputStream baos = new ByteArrayOutputStream();  
5. soapRes.writeTo(baos);  
6. os.write(baos.toByteArray());  

在最后 -

7. baos.close();  
8. os.flush();  
9. os.clse(); 

我考虑了ServletOutputStream的子类并覆盖了write()但由于第3行的类别转换问题而无法解决问题。
我还尝试从SOAPMessage中提取内容的长度,并在第{6行的write()方法中传递该值,甚至作为ByteArrayOutputStream第4行的构造函数参数但没有工作。
任何建议都是最受欢迎的。

NB。忘了早点提到这个,我在Apache Tomcat上运行它。 JUnit测试没有这样的问题,使用它这个处理非常快并且在几秒内完成但是当我在Tomcat上运行时需要很长时间。

1 个答案:

答案 0 :(得分:0)

如问题评论中所述,找到了答案 问题是客户端(TCPMon)而不是代码。