代码之家  ›  专栏  ›  技术社区  ›  Vamsi

Spring Batch:在StoppableTasklets中实现停止方法

  •  0
  • Vamsi  · 技术社区  · 5 年前

    我打电话给下一篇文章是为了停止这项工作。

    Set<Long> executions = jobOperator.getRunningExecutions("Job-Builder");
    jobOperator.stop(longExecutions.iterator().next());
    

    上述方法正在停止作业,但Tasklets仍在运行。在阅读了stackoverflow的评论后,我改变了 tasklet 使用 StoppableTasklet 在我的项目中,这样当我调用 joboperator.stop()

    我在这里的问题是,当我实现时,我不确定如何识别作业是否已停止,并在stop-overiden方法中执行必要的操作 可停止的Tasklet 。你能告诉我如何在覆盖方法中做到这一点吗?

    0 回复  |  直到 5 年前
        1
  •  0
  •   Mahmoud Ben Hassine    5 年前

    我在这里的问题是,当我实现StoppableTasklet时,我不确定如何识别作业是否已停止,并在stop-overiden方法中执行必要的操作

    您不需要在代码中识别作业是否已停止。您需要实现停止当前小任务的逻辑,当您通过以下方式停止作业时,框架将调用此逻辑 JobOperator#stop .

    推荐文章