用于监视GWT中长时间运行任务的进度条

时间:2011-08-11 18:54:00

标签: gwt progress-bar asyncfileupload ajax-push

我需要编写一个进度条来监视生成一些非常大的PDF文件的进度。我们知道如何非常准确地观察在服务器端生成PDF文件的进度,但无法找到从浏览器监视状态的好方法。

一些建议..

  1. 当servlet / gwt-rpc请求发生时为作业创建guid 开始工作,将guid返回给客户。每x秒查询一次 另一个gwt-rpc方法与之前返回的guid。随着进步 在缓慢运行的过程中我们将状态推送到会话 变量,名称为guid。当我们达到100%下载时 来自动态确定的位置的文件并发送实际文件 通过普通的servlet访问浏览器。
  2. 使用ajax-push来做多 运行http连接即时推送状态。
  3. 是否有人建议如何设计稳健的进度条?

    有关如何处理此问题的任何建议?就UI而言,我可能会编写自己的小部件,因为gwt-incubator项目的状态栏已被弃用(以及整个项目)。

1 个答案:

答案 0 :(得分:1)

我们有类似的情况。我们在服务器上运行多个作业,在执行期间,我们使用作业ID轮询服务器。作业完成后,我们将GUI状态更新为done。我们使用RequestFactory,因为我们将作业状态存储在数据库中。它完美无缺。