Spring Batch StepScope Bean

时间:2017-12-02 08:43:26

标签: java scope spring-batch partitioning

如何精确定义步骤范围bean的生命周期,特别是在我有分区范围的情况下?

例如:

  • gridSize = 4
  • SimplePartitioner用作分区程序(将创建4个分区定义)
  • RepositoryItemReader作为步骤范围的bean

问题是:假设一个简单的流程(读取,处理,写入,完成),将创建多少个并行步骤? 4个平行步骤?每一步都有自己的RepositoryItemReader,那么结果会有4个RepositoryItemReaders吗?

1 个答案:

答案 0 :(得分:1)

步骤作用域的bean将为每个StepExecution获取一个实例。因此,使用您的示例,您将最终得到四个RepositoryItemReader个实例,每个分区一个。这允许每个分区的状态独立,以支持诸如可重启性之类的东西。