Spring批处理
Spring Batch processing
我正在从数据库中读取 10000 条记录。但是,我只想处理 5 条记录。
如何在 Spring 批处理中只处理 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 次。
Yes, I can limit the records in sql query. But, I was thinking if there is mechanism to do in Spring Batch.
您可以编写自定义 CompletionPolicy
或使用 ItemReadListener
在 5 条记录后停止该步骤,但我 不 推荐这样做。解决您的用例的简洁方法是限制查询中的项目数量(即只读需要处理的项目)。
我正在从数据库中读取 10000 条记录。但是,我只想处理 5 条记录。
如何在 Spring 批处理中只处理 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 次。
Yes, I can limit the records in sql query. But, I was thinking if there is mechanism to do in Spring Batch.
您可以编写自定义 CompletionPolicy
或使用 ItemReadListener
在 5 条记录后停止该步骤,但我 不 推荐这样做。解决您的用例的简洁方法是限制查询中的项目数量(即只读需要处理的项目)。