spring集合quartz獲取所有定時任務的下次時間
阿新 • • 發佈:2019-03-31
//需要繼承 ApplicationContextAware
public class TaskDetail implements ApplicationContextAware{
private Logger log = Logger.getLogger(TaskDetail.class);
private static ApplicationContext context = null;
public synchronized String taskMethod() {
try {
log.info("===獲取所有定時任務資訊開始===");
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Scheduler scheduler =(Scheduler) context.getBean("quartzScheduler");
//loop all group
for (String groupName : scheduler.getJobGroupNames()) {
//loop all jobs by groupname
for (String jobName : scheduler.getJobNames(groupName)) {
//get job's trigger
Trigger[] triggers = scheduler.getTriggersOfJob(jobName,groupName);
Date nextFireTime = triggers[0].getNextFireTime();
log.info("===[任務名稱]:" + jobName + "[下次執行時間]:" + sdf.format(nextFireTime));
}
}
log.info("===獲取所有定時任務資訊結束===");
} catch (Exception e) {
log.error("獲取定時任務資訊出錯", e);
}
return null;
}
@Override
public void setApplicationContext(ApplicationContext arg0)
throws BeansException {
this.context=a