Spring Batch FlatFileItemReader继续使用错误数量的令牌
我使用Spring BatchFlatFileItemReader
解析CSV文件。每隔一段时间,我就会收到格式错误的行,应用程序完全崩溃,并显示:
Caused by: org.springframework.batch.item.file.transform.IncorrectTokenCountException: Incorrect number of tokens found in record: expected 11 actual 18
有没有办法告诉FlatFileItemReader
在不完全退出应用程序的情况下继续(抛出异常并继续或忽略并继续)。
我猜我可能需要扩展FlatFileItemReader才能实现这一点,因为似乎没有对此进行任何设置。对于如何最好地继续并实现这一点,有什么建议吗?
解决方案
我能够通过创建扩展注入FlatFileItemReader
的DefaultLineMapper
的类来解决此问题。
然后我重写了mapLine方法,如下所示:
@Override
public T mapLine(String line, int lineNumber) throws Exception {
T t = null;
try {
t = super.mapLine(line, lineNumber);
} catch (Exception e) {
log.error("Unable to parse line number <<{}>> with line <<{}>>.", lineNumber, line);
}
return t;
}
相关文章