JdbcBatchItemWriter如何确定批处理大小?

问题描述 投票:0回答:1

我正在浏览JdbcBatchItemWriter的文档,但注意到没有办法指定用于该类使用的jdbcTemplatebatch-size。我认为一个名称为Batch的类将具有某种机制来指定批处理大小,但事实并非如此。我现在有以下有关批大小确定的问题:

  1. 批处理大小是否等于提交间隔?
  2. 如果否,框架会自动计算批次大小吗?

最后但并非最不重要的是,有一种方法可以<,以供jdbcTemplate中的JdbcBatchItemWriter使用,同时定义用于JdbcBatchItemWriter类?

java jdbc spring-batch batch-updates itemwriter
1个回答
0
投票
提交(或批处理大小)将包括块中的所有项目,这由commit-interval控制。因此,出于所有意图和目的,您可以将commit-interval视为batch-size。

上面声明的一个警告:最后一个块中的项目可能少于提交间隔。此外,如果您使用ItemProcessor过滤任何记录,则传递给Writer的项目数将少于您的提交间隔。最后,还有一些自定义CompletionPolicy方案,它们可能导致提交的项目比提交间隔多(或少于)。

希望有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.