我正在使用Spring Batch FlatFileItemReader
解析csv文件。有时我会收到格式错误的行,并且该应用程序完全崩溃,并显示以下内容:
Caused by: org.springframework.batch.item.file.transform.IncorrectTokenCountException: Incorrect number of tokens found in record: expected 11 actual 18
有什么方法可以告诉
FlatFileItemReader
在没有完全退出应用程序的情况下继续(引发异常并继续或忽略并继续)。我猜我可能需要扩展FlatFileItemReader才能做到这一点,因为似乎没有任何设置。关于如何最好地进行并实现这一目标的任何建议?
最佳答案
您可以为您的批处理作业配置SkipLogic
这是一个link to doc
基本上,如果您使用Java Config来管理批处理作业
你可以做这样的事情
stepBuilderFactory.get("step1")
.<Person, Person>chunk(10)
.reader(reader)
.writer(writer)
.processor(processor)
.faultTolerant()
.skipLimit(10)
.skip(RuntimeException.class)
.listener(skipListener) // if you want to add
.build();