Spring pageSize 和 commit-interval 之间的批次差异

Spring Batch difference between pageSize and commit-interval

Spring-Batch Reader 'pageSize' 属性 和 Writer 'commit-interval'.

之间的 relationship/difference 是什么

我可能错了,但我在我的应用程序中看到了一个模式,即对于每个超出的 pageSize,我都会看到一个提交。这是真的吗?

谢谢

提交间隔决定了一个块中将处理多少项目。

页面大小决定了每次需要时将获取多少项目。

根据您设置的数字,行为可能与您描述的一样。它们用于优化。

commit-interval 定义了在单个块中处理的项目数。在单个事务的范围内读取、处理然后写入的项目数量(skip/retry 语义无法承受)。

分页 ItemReader 实现上的 page-size 属性(例如 JdbcPagingItemReader)定义了每次读取基础资源时获取的记录数。因此,在 JDBC 示例中,它是单次访问数据库时请求的记录数。

虽然这两个属性之间没有直接关联,但通常认为让它们匹配是个好主意,但是它们独立地提供了两个旋钮,您可以转动它们来修改应用程序的性能。

关于您的直接问题,如果您将 page-size 设置为与 commit-interval 相同,那么是的,我希望每个页面都提交一次。