【问题标题】:How to monitor a long process in a JSF 2/Primefaces/JBoss application如何监控 JSF 2/Primefaces/JBoss 应用程序中的长进程
【发布时间】:2015-10-15 02:57:00
【问题描述】:

我有一个 JSF 2/Primefaces/JBoss 应用程序,它必须不时运行一些长期进程。规范说,一旦流程开始,就必须监控其进度,显示中间阶段的发生。

在开始时检索步骤总数,并且必须根据流程执行期间计算的统计数据显示流程演变和剩余时间估计的进度条。这不仅仅是显示某事正在发生,而是实际显示该过程还有多少工作要做。

即使用户关闭页面,进程也必须继续,如果用户回到页面,它必须显示进程的当前进度状态。如果该过程已经完成,则应显示一些信息,例如处理的对象数量,以及花费的总时间和其他一些统计信息,例如处理时间较长的对象。

如何在 JSF 2/Primefaces/JBoss 应用程序中实现这一点?

【问题讨论】:

标签: jsf-2 primefaces jboss7.x


【解决方案1】:

您的问题可以分为两个主要问题。 1. 如何记录和跟踪作业的状态。 2. 如何在 UI 中呈现这些信息。

根据您的要求和 JBoss 版本,您可能需要考虑使用managed thread。您必须决定如何跟踪流程步骤。您可以在数据库中记录每个已完成的步骤或将其保存在内存中。错误将如何处理?如果过程没有完成怎么办?一旦您完成并实施了这些后端设计决策,您只需要弄清楚您希望 UI 是什么样的。

如 cmets 部分所述,primefaces 提供了几个不同的选项,例如轮询或服务器发送事件。如果您使用轮询离开页面并重新访问应该已经通过呈现任何时间点的结果来处理。然后,您只需要按时间间隔刷新视图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-04
    • 2012-06-08
    • 1970-01-01
    • 2015-12-06
    • 2018-07-05
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多