spring-batch - Spring Batch 错误没有 CSV 行输入
问题描述
我无法将在所有阶段(解析阶段、业务错误、数据库错误、无效数据错误)中注册的错误存储在 csv 文件中
原因:无法检索csv输入行,因为错误方法只有异常作为参数,而不是实际的csv行数据。(例如:单独解析异常有 inputString 方法(),其余的错误处理阶段没有输入)
如何在spring批处理作业的所有阶段获取输入行或正在处理的行?
我需要使用以下 CSV 行列 + 行号 + 错误消息 + 原因创建错误 csv
解决方案
如果在读取期间发生错误,则将 aFlatFileParseException
传递给SkipListener#onSkipInRead
. 此异常为您提供行号以及从文件中读取的原始行。
如果您想在处理时截获错误,即在 中SkipListener#onSkipInProcess
,那么您可以编写一个包含错误报告所需的所有详细信息的异常类。该项目可以设计为携带读取它的原始行。
推荐阅读
- neo4j - java.lang.RuntimeException:无法从空结果推断模式类型,请使用 loadDataFrame(schema: (String,String)*)
- android - 使用毕加索,我试图从存储在数据库中的图像路径在 imageview 中设置图像
- java - Kafka 生产者在发送到通过 AdminClient createTopics 方法创建的主题时抛出“收到未知主题或分区错误”
- selenium-webdriver - Selenium-Webdriver 在 doubleClick 操作上返回 StaleElementReferenceError
- mysql - SQL从具有2个外键的表中获取多个值(来自同一个表的同一列)到第一个表
- python - 如何再次打开关闭的标准输入子进程?
- xamarin.android - 如何在 DrawerLayout 中用图像突出显示所选项目
- javascript - React Native - 检查`TabBarIcon`的渲染方法
- android - 如何在listview适配器中设置textview的指定位置?
- fpga - 一旦模块不需要 BRAM,如何重用它?