Spring batch 我的spring批处理步骤在达到构建后继续循环

Spring batch 我的spring批处理步骤在达到构建后继续循环,spring-batch,Spring Batch,本节从服务器读入文件,对其进行处理、写出并存档 @Bean public Step step1() { log.info("Made if to step1"); System.out.println("Made it to Step 1"); return this.stepBuilderFactory.get("step1") .<

本节从服务器读入文件,对其进行处理、写出并存档

    @Bean
    public Step step1() {
        log.info("Made if to step1");
        System.out.println("Made it to Step 1");
        return this.stepBuilderFactory.get("step1")
                .<PaymentTransaction, PaymentTransaction>chunk(10)
                .reader(paymentTransactionItemReader())
                .writer(paymentTransactionItemWriter())
                .build();
    }

    @Bean
    public JobExecutionDecider decider() {
        System.out.println("Made it to the decider");
        return (jobExecution, stepExecution) -> new FlowExecutionStatus("Success"); }

    @Bean
    public FlowJobBuilder job() {
        return jobBuilderFactory.get("BenefitIssuance")
                .start(step1())
                .next(decider())
                .on("Success")
                .end()
                .build();
    }
@Bean
公共步骤第1步(){
日志信息(“根据步骤1生成”);
System.out.println(“进入步骤1”);
返回此.stepBuilderFactory.get(“step1”)
.chunk(10)
.reader(paymentTransactionItemReader())
.writer(paymentTransactionItemWriter())
.build();
}
@豆子
公共工作执行决策者{
System.out.println(“到达决策者”);
return(jobExecution,stepExecution)->newflowExecutionStatus(“Success”);}
@豆子
公共FlowJobBuilder作业(){
返回jobBuilderFactory.get(“收益发行”)
.start(步骤1())
.next(decider())
.关于(“成功”)
(完)
.build();
}

但是,当它在最后到达build()步骤时,它会循环回读卡器

,如注释中所述,我不明白为什么
job()
方法返回的是
FlowJobBuilder
,而不是
作业
。以下作业定义不会在同一步骤上循环:

@Bean
public Job job() {
    return jobs.get("job")
            .start(step1())
               .next(decider())
               .on("Success")
               .end()
               .build()
            .build();
}

job()
方法是否打算返回
FlowJobBuilder
,而不是
作业
?您试图运行的作业的定义在哪里?