最近在搞quartz,用来做定时任务。如果有job任务正在执行的时候可以使用scheduler.getCurrentlyExecutingJobs()这个方法的时候,获得一个List<JobExecutionContext>,根据你要获取得任务name,进行判断。如果该list为空或者相应的name没有匹配到,说明,该任务没有目前没有被执行。
try {
List<JobExecutionContext> jobContexts = scheduler.getCurrentlyExecutingJobs();
for(JobExecutionContext context : jobContexts) {
//请求停止的job服务存在的场合。
if (name.equals(context.getTrigger().getJobKey().getName())) {
return true;
}
}
} catch (SchedulerException e) {
e.printStackTrace();
}