背景
我有一个 Spring Batch工作,其中:
FlatFileItemReader- 从文件中一次读取一行ItemProcesor- 将文件中的行转换为 aList<MyObject>并返回List. 也就是说,文件中的每一行都被分解为一个List<MyObject>(文件中的 1 行转换为许多输出行)。ItemWriter- 将 写入List<MyObject>数据库表。(我使用这个 实现来解压从处理器和委托接收到的列表到 aJdbcBatchItemWriter)
问题
- 在第 2 点)处理器可以返回
List100000 个MyObject实例。 - 在第 3 点),委托
JdbcBatchItemWriter最终会将List包含 100000 个对象的整个数据写入数据库。
我的问题是:JdbcBatchItemWriter不允许自定义批量大小。出于所有实际目的,该步骤的批大小 = 提交间隔。考虑到这一点,Spring Batch中是否有另一种ItemWriter可用的实现,它允许写入数据库并允许可配置的批量大小?如果没有,如何自己编写自定义作家来实现这一目标?