春季批处理

时间:2020-08-19 22:02:07

标签: spring-batch

我正在从数据库中读取10000条记录。但是,我只想处理5条记录。

我该怎么办才能在Spring Batch中仅处理5条记录?我希望我的.processor(processor())仅执行5次。这是我的代码

 @Bean
  public Step step1(ItemWriter<BillerOrder> writer) {
      return stepBuilderFactory.get("step1")             
              .<BillerOrder, BillerOrder> chunk(1)
              .reader((ItemReader<? extends BillerOrder>) reader())
              .processor(processor())
              .writer(writer)
              .build();
  }

我希望我的.processor(processor())仅执行5次。

1 个答案:

答案 0 :(得分:1)

是的,我可以限制sql查询中的记录。但是,我在考虑Spring Batch是否有机制。

您可以编写自定义CompletionPolicy或使用ItemReadListener在5条记录后停止该步骤,但我建议这样做。解决用例的一种干净方法是限制查询中的项目数(即,只读需要处理的项目)。