如何立即终止作业?
how to terminate Job immediately?
我试图在 运行 时停止我的工作。但工作不会立即停止。还是运行然后抛出日志:
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
)在块边界检查,这是控件返回框架并停止作业的时间(在 Stopping a job节)。
您可以使用 JobOperator#stop
或在适当的时候在您的代码中设置 StepExecution#setTerminateOnly
来请求停止作业(例如使用侦听器)。
我试图在 运行 时停止我的工作。但工作不会立即停止。还是运行然后抛出日志:
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
)在块边界检查,这是控件返回框架并停止作业的时间(在 Stopping a job节)。
您可以使用 JobOperator#stop
或在适当的时候在您的代码中设置 StepExecution#setTerminateOnly
来请求停止作业(例如使用侦听器)。