我有一个Web应用程序,可以定期创建作业。此网络应用程序在服务器上,可以正常运行。如果服务器崩溃然后重新启动,则JobExplorer
表示作业仍在运行。但是实际上,工作永远不会停止,我必须自己停止工作。为此,我正在尝试使用JobOperator
,有趣的是它说它无法停止未运行的作业。
要获取正在运行的作业的列表,请执行以下操作:
for (String jn : jobExplorer.getJobNames())
for (JobExecution je : jobExplorer.findRunningJobExecutions(jn)) {
...
}
要停止工作:
try {
jobOperator.stop(je.getId());
} catch (NoSuchJobExecutionException e1) {
e1.printStackTrace();
} catch (JobExecutionNotRunningException e1) {
e1.printStackTrace();
}
错误消息是“ JobExecution必须正在运行,以便可以停止”
je.isRunning()
和je.isStopping()
均返回true。