我正在开发一个前端来动态触发石英作业。 我在JSF页面中有一个表单,其单击操作将动态触发石英作业。
作业由以下语句调用,作业被触发,一切正常。
scheduler.triggerJob( “作业1”,Scheduler.DEFAULT_GROUP,JobDataMap中);
根据我的理解,这项工作似乎在一个单独的线程中运行,并且调用函数的执行不会等待作业结束。
由于我从前端调用该作业,我想等到作业结束后再导航到另一个JSF页面。因此,如果作业失败,我可以显示错误消息。 我还想向用户显示一条消息,“处理作业,请稍候......”,直到作业实际结束。
如何实现这一点的任何想法将不胜感激。
谢谢!
答案 0 :(得分:1)
您可以注册Trigger/Job Listener以在Quartz作业完成时收到通知。
如何在JSF中将该异步更新发回给用户,我不太确定。我希望有一个很好的解决方案可以依赖于您的应用程序架构,JSF的版本,甚至可能还有您可用的库支持。它听起来像你作为可轮询服务公开的东西,并且使用了AJAX更新的组件给我。