0
  jobOperator.restart(JobExecutionId) 

启动一个新的作业实例,并且不要从最后一个块恢复作业,而只是从最后一步开始。我需要从最后写入的块中恢复工作。

我的阅读器是一个自定义的 RestReader,它首先计算要处理的项目总数,然后从 api 读取这个确切的数字。我正在使用 @StepScope 注释,因为我需要自定义阅读器中的自定义变量

使用 @StepScope 时 Spring Batch 重启功能不起作用

是否可以从最后写入的块中恢复工作,或者问题是我的自定义阅读器?

4

1 回答 1

0

RestReader必须实施ItemStream。这是有状态的项目阅读器应该实现的契约。该ItemStream#update方法将在块边界处调用,以保存在发生故障时从最后一个检查点重新启动所需的任何上下文数据。

于 2020-02-27T09:58:17.647 回答