【问题标题】:Is there a way to limit the maximum number of processing records in a Job of Spring Batch?有没有办法限制 Spring Batch 的 Job 中的最大处理记录数?
【发布时间】:2026-02-14 20:20:03
【问题描述】:

有没有办法限制 Spring Batch 一个作业的最大处理记录数?

我需要有一个配置,通过它我可以控制一个作业可以处理的最大记录数。

这项工作是使用存储过程从数据库中读取,我可以限制过程本身中获取的最大行数,但我正在寻找 Spring Batch 中提供的任何功能,但我还没有找到它.

【问题讨论】:

  • 您介意分享您尝试过的内容吗?
  • 这项工作正在使用存储过程从数据库中读取,我可以限制过程本身中获取的最大行数,但我正在寻找 Spring Batch 中提供的任何功能,但我不是还没找到呢。

标签: java spring spring-batch


【解决方案1】:

编写一个自定义的ItemReader 保存记录计数,并在达到限制时返回null('停止阅读')。
将用于计数记录的变量存储到步骤执行上下文中。
记住让您的自定义 ItemReader 实现 ItemStream:这样,SB 将自动将记录计数保存到上下文中/从上下文中恢复。
我希望我很清楚,英语不是我的母语。

【讨论】:

    最近更新 更多