使用Applet-Servlet通信处理大数据时出现问题

时间:2010-06-10 19:39:01

标签: java servlets applet printwriter

我有一个向Servlet发出请求的Applet。在servlet上,它使用PrintWriter将响应写回Applet:

out.println("Field1|Field2|Field3|Field4|Field5......|Field10");

大约有15000条记录,因此out.println()执行约15000次。

问题是,当Applet从Servlet获取响应时,处理记录大约需要15分钟。 我放置了System.out.println,处理暂停在5000左右,然后在15分钟后继续处理然后完成。

有没有人遇到过类似的问题? servlet大约需要2秒钟才能执行。所以似乎浏览器/ Applet太慢而无法处理记录。

这是Applet代码。有时它只是在第一个System.out上停止,有时在第二个System.out上停止。

while ((line = in.readLine()) != null) {
    System.out.println("Reading from stream....");
    datavector.add(line);
    System.out.println("Vector size="+datavector.size()+"  Line added="+line);
}

任何想法都赞赏。

感谢。

2 个答案:

答案 0 :(得分:0)

您是否有关于“处理暂停约5000条记录然后在15年后自行启动”的问题?或者你的小程序处理速度很慢

如果你发布一些代码片段会有用吗?

答案 1 :(得分:0)

System.out.println()循环中删除while行。你是每次致电System.out.println() 30,000次。这会增加很多开销。如果需要,只需在while循环之前和之后放置一个。