来自文件的Spring Batch-Read Ids获取Ids的数据

时间:2016-09-08 04:32:32

标签: java spring-batch

我正在为我的项目使用Spring批处理解决方案。我有一种情况需要从文件中读取ID,对于那些我需要从数据库中提取数据,处理它然后将其写入输出文件的ID。

目前我使用FlatFileItemReader从文件中读取数据,然后在处理器中我收集它们并且每千个计数(在子句中有1000个限制)我点击数据库来收集那些ID的数据并使用Writer写输出。

但我觉得应该有更好的方法来做到这一点。如果我可以访问我正在访问的数据库,我可以将这些ID存储在临时表中以加入并获取输出。但我不能这样做。无论如何都要连接读者。

1 个答案:

答案 0 :(得分:0)

我认为,如果要在步骤#2中简化读取器逻辑,则应该将步骤#1的输出传递到步骤#2或者将步骤#1的输出保持为中间存储,从而分两步设计工作。

第1步:由FlatFileItemReader - >组成处理器。

第2步:数据库读取器 - >处理器 - >作家

按照您的问题描述,似乎您可以在 STEP#1 中添加一个编写器来写入临时/中间表。

此外,您似乎不需要 STEP#2 中的处理器。

STEP#1数据可以使用ExecutionContextSee thisrelated question

传递到第2步

此外,像这样的句子,但我不能那样做除非你为什么添加更多解释,否则没有帮助?