我知道JobRepository在任何Spring Batch应用程序中都是必需的,用于存储有关正在运行的作业和步骤的元数据 .
但是这些存储的数据实际上是由Spring Batch检索和使用的吗?如果是,那么什么时候和什么?
是的,Spring Batch读取这些元数据并在许多用例中广泛使用它们 . 这里有些例子:
当您使用给定参数集运行作业时,它将检查是否已为给定参数定义了作业实例( JobInstanceAlreadyExistsException )
JobInstanceAlreadyExistsException
运行作业实例时,它将检查是否已完成作业执行( JobInstanceAlreadyCompleteException )
JobInstanceAlreadyCompleteException
运行作业实例时,它将首先检查是否没有正在运行的作业执行( JobExecutionAlreadyRunningException )
JobExecutionAlreadyRunningException
当您重新运行失败的作业时,它将检索执行上下文,以便重新启动它停止的作业
如果请求停止作业执行,它将检查作业执行是否存在( NoSuchJobExecutionException )并且当前是否正在运行( JobExecutionNotRunningException ) .
NoSuchJobExecutionException
JobExecutionNotRunningException
1 回答
是的,Spring Batch读取这些元数据并在许多用例中广泛使用它们 . 这里有些例子:
当您使用给定参数集运行作业时,它将检查是否已为给定参数定义了作业实例(
JobInstanceAlreadyExistsException
)运行作业实例时,它将检查是否已完成作业执行(
JobInstanceAlreadyCompleteException
)运行作业实例时,它将首先检查是否没有正在运行的作业执行(
JobExecutionAlreadyRunningException
)当您重新运行失败的作业时,它将检索执行上下文,以便重新启动它停止的作业
如果请求停止作业执行,它将检查作业执行是否存在(
NoSuchJobExecutionException
)并且当前是否正在运行(JobExecutionNotRunningException
) .