我正在浏览JdbcBatchItemWriter的文档,但是注意到无法指定 batch-size 用于此类使用的jdbcTemplate
。我认为其中名称为Batch
的类将具有某种机制来指定批处理大小,但事实并非如此。现在,我有以下关于批次大小确定的问题:
最后但并非最不重要的是,有一种方法可以明确指定 jdbcTemplate
在中要使用的批量大小为JdbcBatchItemWriter
类定义Bean时JdbcBatchItemWriter
?
答案 0 :(得分:2)
提交(或批处理大小)将包括块中的所有项目,这由commit-interval
控制。因此,出于所有意图和目的,您可以将commit-interval视为batch-size。
需要注意的是,以上语句:最后一块的项目可能少于提交间隔。此外,如果您使用ItemProcessor过滤任何记录,则传递给Writer的项目数将少于您的提交间隔。最后,还有一些自定义CompletionPolicy
方案可能会导致提交的项目比提交间隔多(或少于)。
希望有帮助!