如何在Spring Batch中处理相同的对象真实很多步骤?

时间:2018-04-27 14:16:09

标签: spring-batch

如何在Spring Bath中处理同一个对象真正的多个步骤? Gustavo Barbosa dos·háumminuto 我从JdbcPagingItemReader查询数据库中的对象,我想要的是:

  1. 通过多个步骤多次处理同一个对象
  2. 有些事情是这样的:

    @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的错误步骤中,等等。

1 个答案:

答案 0 :(得分:0)

您要求的不是Spring Batch的工作原理。每个步骤都是Spring Batch中自包含的。话虽这么说,您可以在一个步骤中通过多个ItemProcessor实现传递单个项目。这听起来更像你真正想要的。这可以通过将ItemProcessor个实例列表传递给CompositeItemProcessor来实现。从那里开始,代表们将按顺序被召集。

您可以在此处的文档中详细了解CompositeItemProcessorhttps://docs.spring.io/spring-batch/trunk/apidocs/org/springframework/batch/item/support/CompositeItemProcessor.html