spring Quartz定时任务

不多说直接上代码 



用的maven管理哈哈

		
			org.quartz-scheduler
			quartz
			1.8.5
		



首先是配置文件





	


	
		
			
		
		
			reload
		
	


	
		
			
		
		
			0 0 0 * * ? 
		
	

	
		
			
				
			
		
	


定时任务类

package com.demo.schedule;

import java.text.ParseException;

import org.quartz.CronTrigger;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;

public class SchedulerTask {

	@Autowired
	@Qualifier("trigger-reload")
	private CronTrigger cronTrigger;

	@Autowired
	@Qualifier("registerQuartz")
	private Scheduler scheduler;

	public void initial() throws ParseException, SchedulerException {
		checkScheduleTime();
	}

	private void checkScheduleTime() throws ParseException, SchedulerException {

           // 5秒一次
		String scheduleTime = "0/5 * * * * ?";
		if (scheduleTime != null) {
			String oriCronExpression = cronTrigger.getCronExpression();
			if (!oriCronExpression.equals(scheduleTime)) {
				cronTrigger.setCronExpression(scheduleTime);
				scheduler.rescheduleJob("trigger-reload", Scheduler.DEFAULT_GROUP, cronTrigger);
			}
		}
	}

	public static int ORIGINAL_VERSION = 0;

	public void reload() throws Exception {

		int versionId = 0; // 可以从数据库取版本号比对更新,对吧 嘿嘿。。

		if (ORIGINAL_VERSION == versionId) {
			ORIGINAL_VERSION = versionId;
			System.out.println("start ==============...");
		}
	}

}


ok   完事   复制到工程中绝对好使  。。。。。。。。。。。。。。。。。。。。。。。。


你可能感兴趣的:(spring,Quartz)