【发布时间】:2018-01-21 17:51:06
【问题描述】:
我正在寻找一种使用 Spring Batch 处理大量记录的策略。阅读器将一行作为输入,处理器可以生成一个大到无法放入内存的项目列表。流程本质上是: 读取 -> 生成 -> 写入
不确定是否可以采用某种嵌套批处理,可能是使用 tasklet,或者我是否持有 spring 批处理错误。
【问题讨论】:
-
您是否有理由不能以一种可行的方式在单独的步骤中预先生成列表?暂存表等?
-
我当时的想法是做一些类似读取请求的事情 -> 有一些提供者一次提供 500k 生成的行 -> 编写它们的编写器。问题是我该怎么做?我需要某种项目处理器,它可以持续不断地以块的形式向写入器返回数据,这样我就不会炸毁堆。
-
我会创建一个阅读器来进行生成。阅读器获取输入,然后将生成的内容块作为项目提供。该步骤的其余部分相应地工作。
-
嘿,迈克,这是个好主意。谢谢一百万。
标签: java spring spring-boot spring-integration spring-batch