Spring Batch:如何监视当前正在运行的作业并在jsp页面上显示进度
我想知道如何监视我的当前运行的批处理作业jobs.My基本上都是处理文件夹的状态有一些默认的步骤,所以我想展现给用户一步一步的。我现在用进步任务蕾和
.Explaining一些实现此目的的示例代码将更有帮助。
谢谢。
回答:
如果要开发自己的监视器应用程序/网页,则可能需要查看JobExplorer
或JobOperator
界面。它为您提供了获取JobExecutions的方法,在JobExecutions中,您可以获取StepExecutions。所有这些都为您提供了工作状态以及内部的各个步骤。
编辑以回复评论:
对于引用的进度信息,它不是存储在Spring
Batch中的东西。但是,这两个界面确实可以帮助您。首先将进度信息存储在步骤执行上下文中。然后,确保您的tasklet没有实现为同步任务。您必须返回CONTINUABLE(如果我混淆了这个术语,请原谅我,我以前使用过Spring
Batch已经有一段时间了),以便您的tasklet将被Spring
Batch连续调用。(这可以通过多种方式完成,您可以将工作分解为一部分,并且每次调用tasklet
execute()时,您只能处理其中一部分,并且仅在所有部分完成后才返回FINISHED,或者可以生成另一个线程来完成工作,而您的小任务只需监视进度等)。
这样,您将不断使用您的进度信息更新步骤执行上下文,因此您可以使用JobExplorer和JobOperator获取作业执行->步骤执行->步骤的执行上下文,以用于进度报告。
以上是 Spring Batch:如何监视当前正在运行的作业并在jsp页面上显示进度 的全部内容, 来源链接: utcz.com/qa/428424.html