每一步更改参数

时间:2018-03-02 18:17:57

标签: java spring-batch

这是我的配置:

    @Bean
    @StepScope
    public ItemReader<PriceResponseObject> reader(Environment environment, RestTemplate restTemplate) {
        return new RestReader(restTemplate);
    }

    //Processor...

    //Writer...

    @Bean
    Step firstStep(ItemReader<PriceResponseObject> reader,
                         ItemProcessor<PriceResponseObject, PriceEntity> processor,
                         ItemWriter<PriceEntity> writer,
                         StepBuilderFactory stepBuilderFactory) {
        return stepBuilderFactory.get("firstStep")
                .<PriceResponseObject, PriceEntity>chunk(1)
                .reader(reader)
                .processor(processor)
                .writer(writer)
                .build();
    }

    @Bean
    Step secondStep(ItemReader<PriceResponseObject> reader,
                  ItemProcessor<PriceResponseObject, PriceEntity> processor,
                  ItemWriter<PriceEntity> writer,
                  StepBuilderFactory stepBuilderFactory) {
        //Almost the same 
    }

    @Bean
    Job btcJob(JobBuilderFactory jobBuilderFactory,
                       @Qualifier("firstStep") Step fS,
                       @Qualifier("secondStep") Step sndS) {
        return jobBuilderFactory.get("myJob")
                .incrementer(new RunIdIncrementer())
                .start(fS)
                .next(sndS)
                .build();
    }

但我会将每一步的论点传递给读者。 此参数将根据作业的步骤而变化。我真的不知道该怎么做。

0 个答案:

没有答案