当Spring Batch读取并使用JobRepository保留的数据时

时间:2018-07-08 10:07:26

标签: java spring spring-batch

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

但是那些存储的数据是Spring Batch实际检索和使用过的吗?如果是,那么什么时候以及为什么呢?

1 个答案:

答案 0 :(得分:0)

是的,Spring Batch读取这些元数据,并在许多用例中广泛使用它们。以下是一些示例:

  • 使用给定的参数集运行作业时,它将检查是否已经为给定的参数(JobInstanceAlreadyExistsException定义了一个作业实例。
  • 运行作业实例时,它将检查是否尚未完成作业执行(JobInstanceAlreadyCompleteException
  • 运行作业实例时,它将首先检查是否没有正在运行的作业执行(JobExecutionAlreadyRunningException
  • 当您重新运行失败的作业时,它将检索执行上下文,以便在中断的地方重新启动作业
  • 如果您要求停止作业执行,它将检查该作业执行是否存在(NoSuchJobExecutionException)并且当前正在运行(JobExecutionNotRunningException)。