如何中断或停止当前正在运行的石英作业?
2022-09-02 00:54:02
我有一些任务是在Java Quartz Jobs的帮助下执行的,但是我需要通过代码中的某些条件来停止某些任务。我读到这可以通过可中断的工作来完成。但是我不明白我应该以什么方式做到这一点?
我有一些任务是在Java Quartz Jobs的帮助下执行的,但是我需要通过代码中的某些条件来停止某些任务。我读到这可以通过可中断的工作来完成。但是我不明白我应该以什么方式做到这一点?
在带有弹簧的Quartz 2.1中,您可以:
@Autowired
private Scheduler schedulerFactoryBean; //injected by spring
...
...
List<JobExecutionContext> currentlyExecuting = schedulerFactoryBean.getCurrentlyExecutingJobs();
//verifying if job is running
for (JobExecutionContext jobExecutionContext : currentlyExecuting) {
if(jobExecutionContext.getJobDetail().getKey().getName().equals("JobKeyNameToInterrupt")){
result = schedulerFactoryBean.interrupt(jobExecutionContext.getJobDetail().getKey());
}
}