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
相同,那么是的,我希望每个页面都提交一次。
Spring-Batch Reader 'pageSize' 属性 和 Writer 'commit-interval'.
之间的 relationship/difference 是什么我可能错了,但我在我的应用程序中看到了一个模式,即对于每个超出的 pageSize,我都会看到一个提交。这是真的吗?
谢谢
提交间隔决定了一个块中将处理多少项目。
页面大小决定了每次需要时将获取多少项目。
根据您设置的数字,行为可能与您描述的一样。它们用于优化。
commit-interval
定义了在单个块中处理的项目数。在单个事务的范围内读取、处理然后写入的项目数量(skip/retry 语义无法承受)。
分页 ItemReader
实现上的 page-size
属性(例如 JdbcPagingItemReader
)定义了每次读取基础资源时获取的记录数。因此,在 JDBC 示例中,它是单次访问数据库时请求的记录数。
虽然这两个属性之间没有直接关联,但通常认为让它们匹配是个好主意,但是它们独立地提供了两个旋钮,您可以转动它们来修改应用程序的性能。
关于您的直接问题,如果您将 page-size
设置为与 commit-interval
相同,那么是的,我希望每个页面都提交一次。