Dorado中使用定時器

本篇主要介紹在Dorado中如何使用定時器。

1.先實現InitializingBean接口,爲BillJobPR類添加定時任務,QuartzManager只是個工具類,下面也提供了addJob方法。

@Component
public class InitServlet implements InitializingBean{

	//定時每天8-20每半時執行一次
	public static final String billTime = "0 0/30 8-20 * * ?";
	//public static final String billTime = "0 45 16 * * ?";
	
	@Override
	public void afterPropertiesSet() throws Exception {
		
		//獲取賬單定時任務
		QuartzManager.addJob("BillJobPR_Name", BillJobPR.class.getName(), billTime);
	}
}
 public static void addJob(String jobName, String jobClass, String time) {  
	        try {  
	            Scheduler sched = gSchedulerFactory.getScheduler();  
	            JobDetail jobDetail = new JobDetail(jobName, JOB_GROUP_NAME, Class.forName(jobClass));// 任務名,任務組,任務執行類  
	            // 觸發器  
	            CronTrigger trigger = new CronTrigger(jobName, TRIGGER_GROUP_NAME);// 觸發器名,觸發器組  
	            trigger.setCronExpression(time);// 觸發器時間設定  
	            sched.scheduleJob(jobDetail, trigger); 
	           
	            // 啓動  
	            if (!sched.isShutdown()){  
	                sched.start();  
	            }  
	        } catch (Exception e) {  
	            e.printStackTrace();  
	            throw new RuntimeException(e);  
	        }  
	    }  

2.實現Job接口,在execute方法類,寫自己的業務邏輯處理,findOrder是我業務邏輯處理的方法名,具體業務邏輯就不展示了。

@Component
public class BillJobPR extends BaseDao implements Job {
	
	@Override
	public void execute(JobExecutionContext arg0) throws JobExecutionException {
		try {
			IBillJob iBillJob = ContextHolder.getBean("BillJobServiceImpl");
			iBillJob.findOrder();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}	

}


3.最後別忘了導入相關jar包。

其實使用定時器比較簡單,不是很難!希望本篇對你有所幫助!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章