Spring批处理问题

时间:2017-11-10 16:17:27

标签: spring spring-batch

关于春季批次的2个问题,有人可以对此有所了解。

1)我已经在我的春季批处理项目中实现了registerShutdownHook,但是当我确实杀死我的批处理时,它并没有立即停止。它等待整个批处理完成。多数民众赞成如何运作?

public static void main(String[] args) { 
  final AbstractApplicationContext appContext = new AnnotationConfigApplicationContext("\"com.lexisnexis.batch\",\"com.lexisnexis.rules\"");    
  appContext.registerShutdownHook();
  ...
}

它是否需要停止所有正在运行的批次以及何时使用此registerShutdownHook代码终止?

2)重启所有已停止的工作的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

  1. 是的,它是如何运作的。需要优雅地关闭spring应用程序上下文。请查看spring framework documentation

  2. 要重新启动已停止的作业,您需要调用jobOperator.restart(executionId)或使用jobLauncher.run与您用于启动原始作业的相同参数。