【发布时间】:2022-06-14 18:54:22
【问题描述】:
我有 2 个固定长度的平面文件 F1 和 F2,分别包含数据 (id, A, B) 和 (id, C, D)。
我正在尝试实例化一个对象Foo f = new Foo (id, A, B, C, D).
我怎样才能通过 Spring Batch 实现这一壮举。我无权访问任何数据库,因此无法将 Foo(id, A, B) 插入临时表,然后更新缺失值。
非常感谢:)
【问题讨论】:
-
为什么要使用数据库来暂存它。那是很多缓慢的阻塞 I/O 和主要故障点。 Spring 已经这样做了。只需要创建一个包含多个步骤的流程。第 1 步加载文件一并填充对象。该步骤的输出进入第 2 步,该步骤加载下一个文件并填充其他字段,然后输出到您想要的任何内容。
-
谢谢@BrianC的回答,我刚开始使用Spring批处理,如何将步骤1的输出传递到步骤2?
-
this 会回答您的问题吗?也就是说,你真的需要 Spring Batch 吗?像unix.stackexchange.com/questions/113898/… 这样的东西应该可以为您解决问题。排序后,您可以使用
SystemCommandTasklet合并文件,然后使用面向块的步骤来处理包含准备好的数据的合并文件,如您所期望的那样。 -
非常感谢@MahmoudBenHassine,我会仔细阅读这些线程,尝试正确实施解决方案,然后返回答案。
标签: spring spring-boot spring-batch