如何在Spring Bath中处理同一个对象真正的多个步骤? Gustavo Barbosa dos·háumminuto 我从JdbcPagingItemReader查询数据库中的对象,我想要的是:
有些事情是这样的:
@Bean
public Job jobValorizacao() {
return jobBuilderFactory.get("jobValorizacao")
.incrementer(new RunIdIncrementer())
.start(researchContract())
.next(calculateInterest())
.next(calculateArrears())
.next(calculateFDI())
.next(calculateXPTO())
.build();
}
当每个Object经过每个步骤时,我想对数据库执行更新。
通过这个控制,我知道Job停止的步骤,在每个Objet的错误步骤中,等等。
答案 0 :(得分:0)
您要求的不是Spring Batch的工作原理。每个步骤都是Spring Batch中自包含的。话虽这么说,您可以在一个步骤中通过多个ItemProcessor
实现传递单个项目。这听起来更像你真正想要的。这可以通过将ItemProcessor
个实例列表传递给CompositeItemProcessor
来实现。从那里开始,代表们将按顺序被召集。
您可以在此处的文档中详细了解CompositeItemProcessor
:https://docs.spring.io/spring-batch/trunk/apidocs/org/springframework/batch/item/support/CompositeItemProcessor.html