【发布时间】:2020-06-14 16:06:34
【问题描述】:
所有步骤都通过了,但作业已完成,状态为失败。
@Bean
public Job job() {
return this.jobBuilderFactory.get("person-job")
.start(initializeBatch())
.next(readBodystep())
.on("STOPPED")
.stopAndRestart(initializeBatch())
.end()
.validator(batchJobParamValidator)
.incrementer(jobParametersIncrementer)
.listener(jobListener)
.build();
}
@Bean
public Flow preProcessingFlow() {
return new FlowBuilder<Flow>("preProcessingFlow")
.start(extractFooterAndBodyStep())
.next(readFooterStep())
.build();
}
@Bean
public Step initializeBatch() {
return this.stepBuilderFactory.get("initializeBatch")
.flow(preProcessingFlow())
.build();
public Step readBodystep() {
return this.stepBuilderFactory.get("readChunkStep")
.<PersonDTO, PersonBO>chunk(10)
.reader(personFileBodyReader)
.processor(itemProcessor())
.writer(dummyWriter)
.listener(new ReadFileStepListener())
.listener(personFileBodyReader)
.build();
}
上面的配置有什么问题吗? 当我删除 stopAndRestart 配置时,它正在通过。
【问题讨论】:
-
initializeBatch是您工作的第一步。在工作的第一步添加stopAndRestart(initializeBatch())对我来说没有意义。为什么需要它? -
第一步是从服务器下载文件。因此,如果页脚中的记录数与否不同,我想从该步骤开始。的记录读取。这意味着文件已损坏。
标签: spring spring-boot spring-batch