Spring batch 如何停止和恢复spring批处理作业

Spring batch 如何停止和恢复spring批处理作业,spring-batch,spring-batch-admin,Spring Batch,Spring Batch Admin,目标:我正在使用SpringBatch进行数据处理,我希望有一个停止/恢复的选项(在它停止的地方) 问题:我能够向正在运行的作业发送停止信号,并且该作业成功停止。但当我尝试向同一个作业发送开始信号时,它会创建一个新的作业实例,并作为一个新作业开始 我的问题是如何在spring batch中为已停止的作业实现恢复功能。您只需使用相同的参数运行它。只需确保没有将作业标记为未重新启动,并且没有使用RunIdIncrementer或类似工具自动生成唯一的作业参数 例如,请参见。第一次运行后,我们有: I

目标:我正在使用SpringBatch进行数据处理,我希望有一个停止/恢复的选项(在它停止的地方)

问题:我能够向正在运行的作业发送停止信号,并且该作业成功停止。但当我尝试向同一个作业发送开始信号时,它会创建一个新的作业实例,并作为一个新作业开始


我的问题是如何在spring batch中为已停止的作业实现恢复功能。

您只需使用相同的参数运行它。只需确保没有将作业标记为未重新启动,并且没有使用
RunIdIncrementer
或类似工具自动生成唯一的作业参数

例如,请参见。第一次运行后,我们有:

INFO: Job: [SimpleJob: [name=myJob]] completed with the following parameters: [{}] and the following status: [STOPPED] Status is: STOPPED, job execution id 0 #1 step1 COMPLETED #2 step2 STOPPED 信息:作业:[SimpleJob:[name=myJob]]已完成,参数为:[{}],状态为:[已停止] 状态为:已停止,作业执行id为0 #1第1步完成 #2步骤2停止 第二次之后:

INFO: Job: [SimpleJob: [name=myJob]] completed with the following parameters: [{}] and the following status: [COMPLETED] Status is: COMPLETED, job execution id 1 #3 step2 COMPLETED #4 step3 COMPLETED 信息:作业:[SimpleJob:[name=myJob]]已完成,参数为:[{}],状态为:[已完成] 状态为:已完成,作业执行id为1 #3第2步完成 #4第3步完成 请注意,停止的步骤将重新执行。如果使用面向块的步骤,请确保至少
ItemReader
实现
ItemStream
(并使用正确的语义)

标有
AllowArtWithComplete
的步骤将始终重新运行