【发布时间】:2016-09-22 01:46:05
【问题描述】:
我对 Spring 批处理框架相当陌生。
我正在尝试使用commit-interval=10000 在阅读器中读取大约 100 万条记录,而在编写器中我需要对项目列表做两件事。
- 将项目列表存储到 DB
- 将这些项目中的少量信息写入平面文件。
我认为这两个任务可以并行运行,而不是在 writer 类中编写顺序的 java 代码。
让两个编写器并行操作并完成各自任务的最佳方式应该是什么?
【问题讨论】:
-
为了清楚起见,您实际上是在要求一个并行工作的
CompositeItemWriter,对吗? -
是的,没错。
-
那你就需要自己写了。目前没有一个可以做到这一点。您将基本上模仿我们的
CompositeItemWriter中的代码,但将对每个代码的写入委托给TaskExecutor。然而,说实话,100 万条记录并不多(取决于每条记录的大小),所以这可能比它的价值更多...... -
好的,谢谢您的意见。它有帮助。
标签: java parallel-processing spring-batch scalability