您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Spring Batch:如何监视当前正在运行的作业并在jsp页面上显示进度

Spring Batch:如何监视当前正在运行的作业并在jsp页面上显示进度

如果要开发自己的监视器应用程序/网页,则可能需要查看JobExplorerJobOperator界面。它为您提供了获取JobExecutions的方法,在JobExecutions中,您可以获取StepExecutions。所有这些都为您提供了工作状态以及内部的各个步骤。

编辑以回复评论

对于引用的进度信息,它不是存储在Spring Batch中的东西。但是,这两个界面确实可以帮助您。首先将进度信息存储在步骤执行上下文中。然后,确保您的tasklet没有实现为同步任务。您必须返回CONTINUABLE(如果我混淆了这个术语,请原谅我,我以前使用过Spring Batch已经有一段时间了),以便您的tasklet将被Spring Batch连续调用。(这可以通过多种方式完成,您可以将工作分解为一部分,并且每次调用tasklet execute()时,您只能处理其中一部分,并且仅在所有部分完成后才返回FINISHED,或者可以生成一个线程来完成工作,而您的小任务只需监视进度等)。

这样,您将不断使用您的进度信息更新步骤执行上下文,因此您可以使用JobExplorer和JobOperator获取作业执行->步骤执行->步骤的执行上下文,以用于进度报告。

Java 2022/1/1 18:21:25 有680人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶