spring批处理错误NoSuchJobException:没有这样的作业(在注册表或历史数据中)



我是spring-batch的新手。我正在尝试编写一个代码来运行未完成的作业。我实际上得到了以下错误:

org.springframework.batch.core.loauch.NoSuchJobException:没有作业(在注册表或历史数据中(

下面是我尝试过的代码,有人能告诉我下面出了什么问题吗

void restartUncompletedJobs() {
try {
String jobName = "job1";

Job job = jobRegistry.getJob(jobName); //HERE GETTING EXCEPTION
List<Long> jobInstances = jobOperator.getJobInstances(job.getName(), 0, 5);
for (Long jobInstanceId : jobInstances) {
Set<Long> jobRunningExecutions = jobOperator.getRunningExecutions(jobName);

if (jobRunningExecutions.size() > 0) {
jobOperator.startNextInstance(jobName);
} else {
jobOperator.restart(jobInstanceId);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}

您需要自己填充注册表,或者在应用程序上下文中注册JobRegistryBeanPostProcessor来填充注册表中的所有作业。

最新更新