1. 程式人生 > >spring集合quartz獲取所有定時任務的下次時間

spring集合quartz獲取所有定時任務的下次時間

開發十年,就只剩下這套架構體系了! >>>   

//需要繼承 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