1

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

几个建议。。

  1. 当 servlet/gwt-rpc 请求恰好启动作业时,为作业创建 guid,将 guid 返回给客户端。每隔 x 秒使用之前返回的 guid 查询另一个 gwt-rpc 方法。随着缓慢运行进程的进展,我们将状态推送到具有该 guid 名称的会话变量。当我们达到 100% 时,从动态确定的位置下载文件并通过普通 servlet 将实际文件发送到浏览器。
  2. 使用 ajax-push 让长时间运行的 http 连接即时推送状态。

有人对如何设计健壮的进度条有建议吗?

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

4

1 回答 1

1

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

于 2011-08-11T23:13:27.457 回答