在Spring Batch中重试处理逻辑

时间:2019-02-26 12:57:15

标签: spring-batch

我正在开发一个Spring Batch应用程序。我想重试处理器逻辑。像在处理器中一样,我有一些数据库表要监视,我想根据这些被监视的表来更新其他表。有什么方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以使用fault tolerant step重试项目。您可以配置要重试的异常和重试限制。这是一个示例:

@Bean
public Step faultTolerantStep() {
    return stepBuilderFactory.get("faultTolerantStep")
                            .<String, String>chunk(2)
                            .reader(itemReader())
                            .processor(itemProcessor())
                            .writer(itemWriter())
                            .faultTolerant()
                            .retryLimit(3)
                            .retry(MyTransientException.class)
                            .build();
}

在此示例中,当从处理器或写入器抛出MyTransientException时,该项目将最多重试3次。

希望这会有所帮助。