当前位置: 首页 > 知识库问答 >
问题:

如何在JSF2/PrimeFaces/JBoss应用程序中监视长流程

饶曦之
2023-03-14

我有一个JSF2/PrimeFaces/JBoss应用程序,它必须时不时地运行一些长期进程。规范说,一旦过程开始,它的进展必须被监视,显示它的中间阶段的发生。

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

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

如何在JSF2/PrimeFaces/JBoss应用程序中实现这一点?

共有1个答案

曹浩淼
2023-03-14

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

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

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

 类似资料:
  • 我正在尝试使用hibernate validator将bean验证集成到我的web应用程序中:< br >-Hibernate-spring-JSF 2-primefaces 3 on Tomcat 7 < br >我在Netbeans的类路径中添加了以下jar文件:hibernate-validator.jar和validation-api.jar。 在pojo类中,我为Size添加了注释: 在

  • 我在服务器端JBoss EAP 6.2.0 SecurityDomain上有一个CustomLogin模块。此自定义登录模块需要三个CallbackHandler:NameCallback(Java Standard)、PasswordCallback(Java Stanstandard)和一个额外的OtpCallaback(由我自己实现,用于一次性密码)。 我现在想通过JSF2.1 web应用程

  • 是否有任何“开箱即用”的siteminder工具可以检查siteminder服务器/应用程序是否运行? 例如,我通过超文本传输协议:/mysiteminderApplication: myport/check_heartbeat.html的url发送请求,它会回复我实际状态,如ok、错误等。 抱歉,我从未见过siteminder安装,但我必须为客户检查这一事实。 提前谢谢你Patrick

  • 问题内容: 如何从Java应用程序中打开和关闭监视器? 如果您想知道为什么,这是一个自助服务终端样式的应用程序,晚上最好关闭显示器。是的,您可以在计算机的屏幕保护程序设置中执行此操作,但是最好以编程方式执行此操作,而不必在每台计算机上进行配置。 问题答案: 假设您在Windows上部署Java应用程序,则可以使用以下WIN32API函数: 然后,为调用上述功能的函数编写一个C-JNI小型包装器,并

  • 我使用的是JBOSS-7.0,并且希望基于War文件来分离应用程序日志,即我有war1和war2,因此应该基于war1.log和war2.log这样的独立日志文件来生成。现有的日志记录配置是standalone.xml。我读过Jboss给出的这个链接,但是他们给出的配置是在jboss-log4j.xml文件中,而不是standalone.xml日志模块更改。 有人能建议在JBOSS-7.0中为每个

  • 如果主方法不能使用,我需要一些关于替代解决方案的建议,以满足这个要求。