InitTimerTask.java 1.1 KB
package com.espeed.time;

import org.quartz.Scheduler;
import org.springframework.scheduling.quartz.CronTriggerBean;

public class InitTimerTask {
	
	private static Scheduler scheduler;
	
	public void setScheduler(Scheduler scheduler){
		InitTimerTask.scheduler = scheduler;
	}
	
	//用于修改默认的时间设定,仅仅在配置文件中进行 修改是不行的,必须提供此入口.
	public static void updateTime(String expression)
	{
		try {
			/*
			 * 通过Scheduler.getTrigger("truggerName","GroupName")得到CronTriggerBean
			 * 通过setCronExpression方法设置时间
			 * */
			CronTriggerBean trigger = (CronTriggerBean) scheduler.getTrigger("dotime", Scheduler.DEFAULT_GROUP);   
			
			if(! trigger.getCronExpression().equalsIgnoreCase(expression)){

	            trigger.setCronExpression(expression);
	            scheduler.rescheduleJob("dotime", Scheduler.DEFAULT_GROUP, trigger);

	        } 
			//trigger.setCronExpression(expression);
			System.out.println(trigger.getName() + ":"+ trigger.getCronExpression());

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}