【问题标题】:Springbatch processing弹簧批处理
【发布时间】:2014-08-11 04:27:17
【问题描述】:

我想构建一个包含 3 个步骤的批处理。我想像这样配置这些步骤 如果 step1 读取和处理并写入 10 个块 step02 时有 100 条记录,则 step03 开始​​并结束,然后再次返回 step1 并读取下一个块。 这在春季批次中可能吗?

【问题讨论】:

    标签: spring batch-processing spring-batch


    【解决方案1】:

    大概是可以的。
    您必须认为,在第 2 步中,您必须再次“阅读”第 1 步读取的最后 10 个项目,因为在步骤中阅读器是强制性的,并且这些项目应该存储在执行上下文中,所以最好的做法是只存储密钥(如果你正在工作使用 DB 或其他涉及查询驱动程序解决方案的解决方案)以最大限度地减少数据使用,因为执行上下文存储在 SB 元数据表中。
    第 3 步也一样。
    在带有JobExecutionDecider 的第 3 步之后,如果您有更多元素要处理或移至作业结束,请返回第 1 步。

    这可能是一个可能的解决方案,但是 - 恕我直言 - 与我们过去使用 SB 设计工作流程的方式相比,这看起来像是一种变态;你确定你不能用一个步骤、3 个处理器和少数听众重新思考工作流程来完成同样的工作吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-06
      • 2017-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多