JdbcBatchItemWriter如何决定批次大小



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

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

最后但并非最不重要的是,在为JdbcBatchItemWriter类定义bean时,是否有方法显式指定jdbcTemplateJdbcBatchItemWriter中使用的批处理大小

提交(或批量大小(将包括区块中的所有项目,区块由commit-interval管理。因此,无论出于何种目的,您都可以将提交间隔视为批大小。

上面的语句需要注意的一点是:您的最后一个区块的项目可能比您的提交间隔少。此外,如果使用ItemProcessor筛选任何记录,则传递给Writer的项目数将低于提交间隔。最后,还有一些自定义的CompletionPolicy场景可能会导致提交的项目比提交间隔多(或少(。

希望能有所帮助!

相关内容

  • 没有找到相关文章

最新更新