【发布时间】:2016-02-18 01:44:47
【问题描述】:
我有一个包含以下步骤的 Spring Batch 导入过程:
- 以特定格式读取文件
- 保存人员、属性和约会的数据(每个文件行可能意味着多次插入多个表)
- 写入结果文件(主要是读取的结果,但有时我们无法将读取的数据处理成可以连贯插入的内容)
我目前在一组 Readers 中有 #1(每种文件格式一个),在单个 Writer 类中有 #2 和 #3。我觉得编写结果文件应该是与将数据写入数据库的单独步骤,但我不确定如何执行此操作。
我知道的选项是:
- 步进监听器
- 一个小任务 (?)
还有其他选项吗?Spring Batch 的设计方式是哪个选项?
【问题讨论】:
-
结果文件是摘要还是...?你能提供更多关于那里发生的事情的描述吗?
-
结果文件列出了导入的所有问题。因此,如果无法从一行中读取数据,则结果文件将包含一行。如果在读取数据时,我在数据库中找不到匹配的记录,则结果文件将有一行。每个输入行可能有 0 个结果行(成功)或每个输入行有多个结果行(多个问题)。
-
又名坏记录文件。行。在处理器/编写器方面,您可以使用侦听器来处理它(该项目在出错时返回给侦听器,以便您可以相应地保留它)。但是,对于阅读错误,这是另一种动物,因为我们没有可以传递给您的项目(我们无法构建一个……这就是问题所在)。在这种情况下,您必须实现自己的阅读器来处理此问题。
标签: java spring spring-batch