在 Spring Batch 中,我们如何比较具有不同记录布局的 2 个平面文件并在它们之间存在不一致时抛出错误消息

问题描述

考虑以下场景,其中我有 2 个不同的 CSV 文件,其中包含一个公共引用字段。我想读取这两个文件,如果file2没有类似于file1的request-id就报错。

文件 1 是主文件文件 2 中的数据应始终有来自文件 1 的引用。

示例:

文件 1

reqID、名字、姓氏

111,约翰,米勒

文件 2

reqID、custID、金额

111,abc,100

222,zxc,200

333,qwe,300

在上述情况下,我想报告一个错误,即文件 1 中不存在 reqid 222 和 333,因此我无法接受文件 2 中的这些记录以进行进一步处理。

我们不能使用 MultiResourceItemReader,因为它不支持不同记录格式的文件

我正在寻找使用 spring Batch 框架的解决方案。

任何建议都会有所帮助。

问候, 高拉夫

解决方法

您可以从阅读器读取一个文件,您可以从处理器读取另一个文件并进行比较。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...