最近使用到quartz的定時任務總結下:
0、使用到的jar quartz-1.8.4.jar,commons-logging-1.1.3.jar,slf4j-api-1.5.8.jar,slf4j-log4j12-1.5.8.jar,log4j-1.2.16.jar
下載地址:http://download.csdn.net/detail/xumajie88/6974077
1、實現Job接口
2、創建觸發器
3、業務處理執行方法excute()
4、添加到應用環境中,下面舉例說明
import java.text.ParseException;
import org.quartz.CronTrigger;
import org.quartz.Job;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
public class MySimpleJob implements Job {
/**
* 指定讓任務的觸發時間
*/
public Trigger createTrigger() {
CronTrigger trigger = new CronTrigger("InspectionBuildJob");
try {
//每天晚上0:05:00運行
// trigger.setCronExpression("0 5 0 * * ?");
//測試�?,每分鐘運�?
trigger.setCronExpression("0 * * * * ?");
} catch (ParseException e) {
e.printStackTrace();
}
return trigger;
}
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
//在這裏寫任務代碼
System.out.println(System.currentTimeMillis());
}
/**
* 這裏的內容可以考慮封裝起來
* */
public static void main(String[] args) throws Exception {
MySimpleJob qj = new MySimpleJob();
//每個job都有自己的JobDetail
JobDetail jobDetail = new JobDetail(qj.getClass().getSimpleName() ,Scheduler.DEFAULT_GROUP,qj.getClass());
SchedulerFactory factory = new StdSchedulerFactory();
//從進度工廠中過去一個進度表
Scheduler scheduler = factory.getScheduler();
//給該進度表分配任務
scheduler.scheduleJob(jobDetail, qj.createTrigger());
//進度開始
scheduler.start();
}
}