我正在评估特定项目的 Spring Batch,在网上进行了大量搜索后,我一直无法找到满足我要求的 Spring Batch 解决方案。
我想知道 spring 批处理是否能够在单个作业中读取由不同格式组成的多个 CSV 文件?例如,假设 Person.csv 和 Address.csv,两者都由不同的格式组成,但相互依赖
我需要阅读、处理数据更正(即 toUpperCase 等),并验证每条记录。
在验证错误的情况下,我需要将错误记录到某种对象数组中,在验证完成后,它将在稍后提供,以通过电子邮件发送给最终用户进行更正。
一旦验证了两个文件中的所有数据并且任一文件中均未发生验证错误,请继续执行批处理编写器。如果这两个文件中的任何一个发生任何错误,我都需要停止整个作业。如果在发生错误时写入器已经开始写入数据库,则无论错误是否存在于相反文件中,都需要回滚整个作业。
如果其中任何一个存在任何类型的验证错误,我都无法插入两个 CSV 文件中的任何一个。必须将错误通知最终用户。这些错误将用于在重新处理文件之前进行任何必要的更正。
SpringBoot 2 中的 Spring 批处理是否能够实现这种行为?
例子
人物.csv
BatchId, personId, firstName, lastName
地址.csv
BatchId, personId, address1
在上面的例子中,两个文件之间的关系是batchId 和personId。如果两个文件中的任何一个中存在任何类型的验证错误,我必须使整个批处理失败。我想完成对两个文件的验证,以便我可以响应所有错误,但只是不写入数据库。
临摹微笑
相关分类