0

我正在浏览JdbcBatchItemWriter的文档,但注意到无法指定此类使用的批处理大小。jdbcTemplate我认为一个有名字的类Batch会有一些机制来指定批量大小,但看起来情况并非如此。我现在有以下关于确定批量大小的问题:

  1. 批量大小是否等于提交间隔?
  2. 如果不是,批量大小是否由框架自动计算?

最后但并非最不重要的一点是,有没有办法在 为类定义 bean 时显式指定要使用的批处理大小jdbcTemplateJdbcBatchItemWriterJdbcBatchItemWriter

4

1 回答 1

3

提交(或批量大小)将包括块中的所有项目,由commit-interval. 因此,出于所有意图和目的,您可以将提交间隔视为批量大小。

对上述声明的一个警告:您的最终块可能包含的项目少于您的提交间隔。此外,如果您使用 ItemProcessor 过滤任何记录,传递给 Writer 的项目数将低于您的提交间隔。最后,还有一些自定义CompletionPolicy场景可能会导致提交的项目比您的提交间隔更多(或更少)。

希望有帮助!

于 2019-10-23T17:32:18.053 回答