bre*_*ish 19 java schedule scheduled-tasks quartz-scheduler
我有一些在Java Quartz Jobs的帮助下执行的任务,但我需要在代码中通过某些条件来停止某些任务.我读到这可以通过InterruptableJob完成.但我不明白我该怎么做呢?
blo*_*lob 34
你需要写一份你的工作作为InterruptableJob的实现.要中断此作业,您需要处理调度程序,然后调用interrupt(jobKey<<job name & job group>>)
请看看@ javadoc上面的类,石英发行版也包含一个例子(例子7).
在带有 Spring 的 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());
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51372 次 |
| 最近记录: |