当前推荐的管理/停止 spring-batch 作业的方法是什么?

问题描述

我们有一些 spring-batch 作业由 autosys 触发,shell 脚本作为短期进程。

现在无法查看 spring-batch 过程中发生的事情,所以我正在探索查看状态和管理(停止)作业的方法

Spring Cloud Data Flow 是我正在探索的选项之一 - 但似乎在使用 Autosys 安排作业时可能不起作用。
在这方面我可以探索哪些其他选项?现在推荐的管理 spring-batch 作业的方法是什么?

解决方法

要停止作业,首先需要获取要停止的作业执行的 ID。这可以使用 JobExplorer API 来完成,该 API 允许您探索 Spring Batch 在作业存储库中知道的元数据。获得作业执行 ID 后,您可以通过调用 JobOperator#stop 方法停止它,请参阅参考文档的 Stopping a job 部分。

这独立于您用来启动作业的任何方法(手动,或通过调度程序或图形工具),并允许您优雅地停止作业并使存储库保持一致状态(准备好重新启动,如果需要)。