我正在寻找一种用弹簧批处理大量记录的策略。读取器将一行作为输入,处理器可以生成一个大小如此大的项目列表,以至于它们无法放入内存中。流程基本上是: 阅读 - >生成 - >写
不确定是否可以使用某种嵌套批处理方式,可能使用的是tasklet,或者我是否认为弹簧批处理错误。
答案 0 :(得分:1)
我想说你需要实现一个具有Reader状态的自定义Reader / Generator / Writer - 例如可分页,因此不会生成项目列表,而是生成“页面”列表。每个页面都包含对文件中原始行的引用和页面信息[offset,page size]。
生成器又将“源页面”转换为带有项目的相对较小的容器。