【发布时间】:2019-04-03 19:21:53
【问题描述】:
我正在尝试重试 Spring Batch FlatFileItemReader 但没有成功。
FlatFileItemReader<Transaction> reader = new FlatFileItemReader<>();
Resource resource = new FileSystemResource("input/1-101-D-2017-212-volume-per-transaction.csv");
try {
resource.contentLength();
} catch (IOException e) {
e.printStackTrace();
}
reader.setResource(resource);
reader.setRecordSeparatorPolicy(new BlankLineRecordSeparatorPolicy());
DefaultLineMapper<Transaction> lineMapper = new DefaultLineMapper<>();
reader.setLineMapper(lineMapper);
reader.setStrict(false);
reader.setLinesToSkip(NUMBER_OF_HEADER_LINES);
DelimitedLineTokenizer tokenizer = new DelimitedLineTokenizer();
reader.setSkippedLinesCallback(line -> tokenizer.setNames(line.split(",")));
lineMapper.setLineTokenizer(tokenizer);
lineMapper.setFieldSetMapper(new TransactionFieldSetMapper());
reader.setLineMapper(lineMapper);
return reader;
然后进入我的步骤,我有
.faultTolerant()
.retryLimit(3)
.retry(FileNotFoundException.class)
谁能给我一些提示如何重试?
【问题讨论】:
-
面向块的步骤中的
RetryPolicy不适用于阅读器。请查看此答案以获取更多详细信息:stackoverflow.com/a/54903275/5019386
标签: spring-batch