停止 spring 批处理失败

Stop spring batch in failure

你好,

如果在我的 reader 中测试 return 为真,我需要停止状态为失败的 运行 spring 批次。我怎样才能做到这一点 ? 我实际上使用 System.exit(-1),但我认为 spring 批处理有他自己的方式来停止具有不同状态的 运行 批处理。

这是我的 reader 中我想停止批处理的函数:

private List<Test> getListTest() throws Exception {
    ...
            if (stop) {
            logger.error("Stop running batch");
            System.exit(-1);
            return null;
            }
    ...
}

祝你旅途愉快

有两种方法可以使 spring 批处理作业失败。

  1. 只需在 reader 中抛出异常, spring 批处理将自动停止状态为失败的作业。
  2. 您可以使用 joboperator.stop() 方法停止任何 运行 作业。此方法将发送一个信号来停止作业,但只有在事务完成后作业才会停止。