【发布时间】:2015-03-02 09:52:45
【问题描述】:
Spring-Batch Reader 'pageSize' 属性和 Writer 'commit-interval' 之间的关系/区别是什么。
我可能是错的,但我在我的应用程序中看到了一种模式,即每超过一个 pageSize,我就会看到一个提交。这是真的吗?
谢谢
【问题讨论】:
标签: spring-batch
Spring-Batch Reader 'pageSize' 属性和 Writer 'commit-interval' 之间的关系/区别是什么。
我可能是错的,但我在我的应用程序中看到了一种模式,即每超过一个 pageSize,我就会看到一个提交。这是真的吗?
谢谢
【问题讨论】:
标签: spring-batch
commit-interval 定义了在单个块中处理了多少个项目。在单个事务的范围内读取、处理、然后写入该数量的项目(不支持跳过/重试语义)。
分页ItemReader 实现(例如JdbcPagingItemReader)上的page-size 属性定义每次读取底层资源时获取多少记录。因此,在 JDBC 示例中,它是对 DB 的一次命中请求的记录数。
虽然这两个属性之间没有直接关联,但通常认为使它们匹配是个好主意,但是它们独立地提供了两个旋钮,您可以转动它们来修改应用程序的性能。
关于您的直接问题,如果您将page-size 设置为与commit-interval 相同,那么是的,我希望每个页面都有一个提交。
【讨论】:
提交间隔决定了一个 Chunk 中将处理多少个项目。
页面大小决定了每次需要时将获取多少项目。
根据您设置的数字,行为可能是您描述的行为。它们用于优化。
【讨论】: