当Spring Batch读取并使用JobRepository持久化的数据时

我知道JobRepository在任何Spring Batch应用程序中都是必需的,用于存储有关正在运行的作业和步骤的元数据 .

但是这些存储的数据实际上是由Spring Batch检索和使用的吗?如果是,那么什么时候和什么?

回答(1)

2 years ago

是的,Spring Batch读取这些元数据并在许多用例中广泛使用它们 . 这里有些例子:

  • 当您使用给定参数集运行作业时,它将检查是否已为给定参数定义了作业实例( JobInstanceAlreadyExistsException

  • 运行作业实例时,它将检查是否已完成作业执行( JobInstanceAlreadyCompleteException

  • 运行作业实例时,它将首先检查是否没有正在运行的作业执行( JobExecutionAlreadyRunningException

  • 当您重新运行失败的作业时,它将检索执行上下文,以便重新启动它停止的作业

  • 如果请求停止作业执行,它将检查作业执行是否存在( NoSuchJobExecutionException )并且当前是否正在运行( JobExecutionNotRunningException ) .