命令停止时的 CommandLineJobRunner 退出状态

CommandLineJobRunner exit status on command stop

我正在使用 .bat 和 .sh 开发 SpringBatch。 当我使用 -stop 标志时,我认为如果作业不存在或不是 运行,我应该等待非零退出代码。 实际上,如果作业无误结束,我得到 0。

我哪里错了?

当使用 CommandLineJobRunner 停止作业时,您实际上是在发出停止作业的请求。 CommandLineJobRunner return 是在发出请求后,而不是在作业停止后,因为那可能是一个不确定的时间量。使用 CommandLineJobRunner 获得非零 return 代码来停止作业的唯一方法是如果作业不是 运行(或无法在 JobRepository).