1)我已经在我的春季批处理项目中实现了registerShutdownHook
,但是当我确实杀死我的批处理时,它并没有立即停止。它等待整个批处理完成。多数民众赞成如何运作?
public static void main(String[] args) {
final AbstractApplicationContext appContext = new AnnotationConfigApplicationContext("\"com.lexisnexis.batch\",\"com.lexisnexis.rules\"");
appContext.registerShutdownHook();
...
}
它是否需要停止所有正在运行的批次以及何时使用此registerShutdownHook
代码终止?
2)重启所有已停止的工作的最佳方法是什么?
答案 0 :(得分:0)
是的,它是如何运作的。需要优雅地关闭spring应用程序上下文。请查看spring framework documentation。
要重新启动已停止的作业,您需要调用jobOperator.restart(executionId)
或使用jobLauncher.run
与您用于启动原始作业的相同参数。