首页 > 解决方案 > Spring Batch 错误没有 CSV 行输入

问题描述

我无法将在所有阶段(解析阶段、业务错误、数据库错误、无效数据错误)中注册的错误存储在 csv 文件中

原因:无法检索csv输入行,因为错误方法只有异常作为参数,而不是实际的csv行数据。(例如:单独解析异常有 inputString 方法(),其余的错误处理阶段没有输入)

如何在spring批处理作业的所有阶段获取输入行或正在处理的行?

我需要使用以下 CSV 行列 + 行号 + 错误消息 + 原因创建错误 csv

标签: spring-batch

解决方案


如果在读取期间发生错误,则将 aFlatFileParseException传递给SkipListener#onSkipInRead. 此异常为您提供行号以及从文件中读取的原始行。

如果您想在处理时截获错误,即在 中SkipListener#onSkipInProcess,那么您可以编写一个包含错误报告所需的所有详细信息的异常类。该项目可以设计为携带读取它的原始行。


推荐阅读