Quartz定時任務學習(一)簡單任務
學習quartz首先了解三個概念:
調度器:負責調度作業和觸發器;
觸發器:設置作業執行的時間、參數、條件等;(簡單觸發器和Cron觸發器)
作業:定時任務內容,被執行的程序;
下載必要的jar包,直接去官網下載,將quartz-x.x.x.jar 和core 和/或 optional 文件夾中的 jar 文件放在項目的文件夾或項目的類路徑中
開始:邊看例題邊學習,首先從簡單觸發器開始……
1、作業通過實現 org.quartz.job
接口,可以使 Java 類變成可執行的。這個類用一條非常簡單的輸出語句覆蓋了 execute(JobExecutionContext context)
方法。
import java.util.Date;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class SimpleQuartzJob implements Job {
public SimpleQuartzJob() {
}
public void execute(JobExecutionContext context) throws JobExecutionException {
System.out.println("In SimpleQuartzJob - executing its JOB at "
+ new Date() + " by " + context.getTrigger().getName());
}
}
2、觸發器和調度器
public void task() throws SchedulerException
{
//通過SchedulerFactory來獲取一個調度器
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();
//引進作業程序
JobDetail jobDetail =
new JobDetail("jobDetail-s1", "jobDetailGroup-s1", SimpleQuartzJob.class);
//new一個觸發器
SimpleTrigger simpleTrigger =
new SimpleTrigger("simpleTrigger", "triggerGroup-s1");
//設置作業啟動時間
long ctime = System.currentTimeMillis();
simpleTrigger.setStartTime(new Date(ctime));
//設置作業執行間隔
simpleTrigger.setRepeatInterval(10000);
//設置作業執行次數
simpleTrigger.setRepeatCount(10);
//設置作業執行優先級默認為5
//simpleTrigger.setPriority(10);
//作業和觸發器設置到調度器中
scheduler.scheduleJob(jobDetail, simpleTrigger);
//啟動調度器
scheduler.start();
}
一個簡單的quartz任務就完成了