我打电话给下一篇文章是为了停止这项工作。
Set<Long> executions = jobOperator.getRunningExecutions("Job-Builder"); jobOperator.stop(longExecutions.iterator().next());
上述方法正在停止作业,但Tasklets仍在运行。在阅读了stackoverflow的评论后,我改变了 tasklet 使用 StoppableTasklet 在我的项目中,这样当我调用 joboperator.stop()
tasklet
StoppableTasklet
joboperator.stop()
我在这里的问题是,当我实现时,我不确定如何识别作业是否已停止,并在stop-overiden方法中执行必要的操作 可停止的Tasklet 。你能告诉我如何在覆盖方法中做到这一点吗?
可停止的Tasklet
我在这里的问题是,当我实现StoppableTasklet时,我不确定如何识别作业是否已停止,并在stop-overiden方法中执行必要的操作
您不需要在代码中识别作业是否已停止。您需要实现停止当前小任务的逻辑,当您通过以下方式停止作业时,框架将调用此逻辑 JobOperator#stop .
JobOperator#stop