【问题标题】:Spring Batch difference between pageSize and commit-intervalSpring Batch pageSize和commit-interval的区别
【发布时间】:2015-03-02 09:52:45
【问题描述】:

Spring-Batch Reader 'pageSize' 属性和 Writer 'commit-interval' 之间的关系/区别是什么。

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

谢谢

【问题讨论】:

    标签: spring-batch


    【解决方案1】:

    commit-interval 定义了在单个块中处理了多少个项目。在单个事务的范围内读取、处理、然后写入该数量的项目(不支持跳过/重试语义)。

    分页ItemReader 实现(例如JdbcPagingItemReader)上的page-size 属性定义每次读取底层资源时获取多少记录。因此,在 JDBC 示例中,它是对 DB 的一次命中请求的记录数。

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

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

    【讨论】:

    • 提交间隔和块大小是否相同?
    【解决方案2】:

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

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

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

    【讨论】:

    • 在 writer 中如何获取 Commit Interval 的值?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-22
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    • 2019-01-11
    • 2014-10-15
    相关资源
    最近更新 更多