跳到主要内容

配置重试逻辑

QWen Plus 中英对照 Configuring Retry Logic

在大多数情况下,你希望异常导致跳过或 Step 失败。然而,并非所有异常都是确定性的。如果在读取时遇到 FlatFileParseException,它总是针对该记录抛出。重置 ItemReader 并无帮助。然而,对于其他异常(例如 DeadlockLoserDataAccessException,它表示当前进程尝试更新另一个进程持有锁的记录),等待并重试可能会导致成功。

在 Java 中,重试应配置如下:

@Bean
public Step step1(JobRepository jobRepository, PlatformTransactionManager transactionManager) {
return new StepBuilder("step1", jobRepository)
.<String, String>chunk(2, transactionManager)
.reader(itemReader())
.writer(itemWriter())
.faultTolerant()
.retryLimit(3)
.retry(DeadlockLoserDataAccessException.class)
.build();
}
java

Step 允许为单个项可以重试的次数设置限制,并提供一个“可重试”的异常列表。您可以查阅 retry 中有关重试机制的更多详细信息。