spring批处理错误NoSuchJobException:没有此类作业(在注册表或历史数据中)
我是新来的。我试图写一个代码来运行未完成的作业。我实际上得到了以下错误: org.springframework.batch.core.launch.NoSuchJobException:没有这样的 作业(在注册表或历史数据中) 下面是我尝试过的代码,有人能告诉我下面出了什么问题吗?spring批处理错误NoSuchJobException:没有此类作业(在注册表或历史数据中),spring,spring-boot,spring-batch,Spring,Spring Boot,Spring Batch,我是新来的。我试图写一个代码来运行未完成的作业。我实际上得到了以下错误: org.springframework.batch.core.launch.NoSuchJobException:没有这样的 作业(在注册表或历史数据中) 下面是我尝试过的代码,有人能告诉我下面出了什么问题吗? void restartUncompletedJobs() { try { String jobName = "job1";
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();
}
}
void restartUncompletedJobs(){
试一试{
字符串jobName=“job1”;
Job Job=jobRegistry.getJob(jobName);//此处获取异常
List jobInstances=jobOperator.getJobInstances(job.getName(),0,5);
for(长jobInstanceId:jobInstances){
设置jobRunningExecutions=jobOperator.getRunningExecutions(jobName);
如果(jobRunningExecutions.size()>0){
jobOperator.StartEndistance(作业名称);
}否则{
jobOperator.restart(jobInstanceId);
}
}
}捕获(例外e){
e、 printStackTrace();
}
}
您需要自己填充注册表,或者在应用程序上下文中注册一个来填充注册表中的所有作业。有人对上述内容有任何想法吗?我面临着类似的问题:,没有找到任何答案..仍在寻找解决方案。。对上述问题有什么想法吗?我已经尝试过使用BeanJobRegistryBeanPostProcessor,即使仍然面临同样的问题。。如果你不介意,请尝试上面的代码片段并粘贴我的工作代码。顺便说一句,我只使用Spring Boot。你可以在这里找到一个例子:不客气!如果答案有帮助,请接受。