Spring Batch FlatFileItemReader继续使用错误数量的令牌

Spring Batch FlatFileItemReader continue on incorrect number of tokens(Spring Batch FlatFileItemReader继续使用错误数量的令牌)

本文介绍了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才能实现这一点,因为似乎没有对此进行任何设置。对于如何最好地继续并实现这一点,有什么建议吗?

推荐答案

我能够通过创建扩展注入FlatFileItemReaderDefaultLineMapper的类来解决此问题。

然后我重写了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;
}

这篇关于Spring Batch FlatFileItemReader继续使用错误数量的令牌的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Spring Batch FlatFileItemReader继续使用错误数量的令牌