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")
.<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();
}
但是,当它到达最后的 build() 步骤时,它会循环回到阅读器
解决方案
正如评论中提到的,我不明白为什么该job()
方法返回 aFlowJobBuilder
而不是 a Job
。以下作业定义不会在同一步骤上循环:
@Bean
public Job job() {
return jobs.get("job")
.start(step1())
.next(decider())
.on("Success")
.end()
.build()
.build();
}
推荐阅读
- javascript - react中的动态表单如何更新react.js中的嵌套状态字段
- mysql - fabric-ca-server 使用 ssl 连接到 mysql
- android - setCustomView 不适用于 android studio 中的 tablayout
- javascript - 将动态创建的切片字符串与其他切片字符串进行比较达到限制?
- c++ - Opencv:相同的捕获代码在高端笔记本电脑上提供低 FPS,在 TX1 上提供高 FPS
- ruby - 抓取网页:需要数据分隔符
- asp.net - 中继器中的链接第一次仅在更新面板控件内工作
- azkaban - 阿兹卡班执行错误
- python - AttributeError:使用后端 random_uniform 时,“张量”对象没有属性“_keras_history”
- c - 如何将 libc_nano 与 Clang 一起使用?