Vic*_*cky -1 java spring spring-batch spring-boot
我使用以下教程使用 spring boot 创建了一个 spring 批处理作业:
https://spring.io/guides/gs/batch-processing/
Run Code Online (Sandbox Code Playgroud)
该作业正在按预期读取文件并写入数据库。
但是,现在我有一个用例可以多次运行此作业。
我有一个ArrayList参数。
我应该对工作进行哪些更改,以便我可以运行工作的次数是我的ArrayList?
您可以像这样手动启动批处理作业
@Component
Class Someclass{
...............
@Autowired
private JobLauncher jobLauncher;
@Autowired
private Job job;
public void someFunction(){
jobLauncher.run(job, new JobParameters());
}
}
Run Code Online (Sandbox Code Playgroud)
唯一的问题是,如果批处理作业已经完成,则无法重新启动它,它会引发错误,指出状态已完成。为此,您必须将allowStartIfComplete属性设置为 true。这必须在您的批处理步骤配置中完成,就像这样
stepBuilderFactory.get("step1")
.<Person, Person> chunk(10)
.reader(reader())
.processor(processor())
.writer(writer())
.allowStartIfComplete(true)
.build();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3688 次 |
| 最近记录: |