如何立即终止作业?



我试图在作业运行时停止作业。但这项工作不会立即停止。它仍在运行,然后抛出日志:

2019-12-03 13:23:48 [main] INFO  o.s.b.c.r.s.SimpleJobRepository - Parent JobExecution is stopped, so passing message on to StepExecution
2019-12-03 13:23:48 [main] INFO  o.s.b.c.s.ThreadStepInterruptionPolicy - Step interrupted through StepExecution
2019-12-03 13:23:48 [main] INFO  o.s.batch.core.step.AbstractStep - Encountered interruption executing step remindStep in job remindEntrustPayment : Job interrupted status detected.


我怎样才能立即终止工作?

无法强制立即关闭,尤其是当控件位于用户代码中时。StepInterruptionPolicy(默认为日志中看到的ThreadStepInterruptionPolicy(在区块边界进行检查,这是控件返回到框架并停止作业的时间(在停止作业部分中进行了说明(。

您可以使用JobOperator#stop或在适当时通过在代码中设置StepExecution#setTerminateOnly来请求停止作业(例如使用侦听器(。

最新更新