java如何在@JobScope上创建springbatch作业本身?
有没有可能使Job
本身成为@JobScope
我想定期运行作业。作业本身应找到数据库id,并基于此id执行后续步骤:
@Bean
public Job job() throws Exception {
Long id = dao.findSomeId();
return jobBuilderFactory.get("name")
.start(import())
.next(step(id))
.build();
}
private Step step(Long id) {
return stepBuilder.get("step").tasklet(new Tasklet() {
@Override execute() {
//execute a task based on the id. Eg a database cleanup
return RepeatStatus.FINISHED;
}
}).build();
}
问题:dao.findSomeId()
语句在第一次作业初始化期间仅执行一次。此后,对于任何作业执行,id
始终保持不变
共 (0) 个答案