这是我的配置:
@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();
}
但我会将每一步的论点传递给读者。 此参数将根据作业的步骤而变化。我真的不知道该怎么做。