Quartz的使用

首先創建一個Java項目
1.如果是maven項目,直接在pom.xml文件中添加如下依賴即可。

org.quartz-scheduler
quartz
2.2.3

2.如果創建的是一個普通的Java項目,就需要引入以下jar包。
slt4j-api-1.7.7.jar、c3p0-0.9.1.1.jar、quartz-2.2.3.jar

話不多說直接上代碼,很詳細的一個例子了。
首先新建一個HelloJob類,實現Job接口。
package com.tjj.HelloQuartz;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class HelloJob implements Job {

public void execute(JobExecutionContext arg0) throws JobExecutionException {
    //        打印當前的執行時間,格式 yyyy-MM-dd HH:mm:ss
    Date currentTime = new Date();
    SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    System.out.println("當前的執行時間:" + sf.format(currentTime));
    //        編寫具體的業務邏輯
    System.out.println("Hello World!");
}

}

接着創建HelloQuartz類
package com.tjj.HelloQuartz;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;

public class HelloScheduler {
public static void main(String[] args) {
// 創建一個JobDetail實例,將該實例與HelloJob類綁定
JobDetail jobDetail = JobBuilder.newJob(HelloJob.class).withIdentity(“myJob”, “group1”).build();
// 創建一個trigger實例,定義該job立即執行,並且每隔兩秒鐘重複執行一次,直到程序停止。
Trigger trigger = TriggerBuilder.newTrigger().withIdentity(“myTrigger”, “group1”).startNow()
.withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(2).repeatForever()).build();
// 創建scheduler實例
SchedulerFactory sfact = new StdSchedulerFactory();
Scheduler scheduler;
try {
scheduler = sfact.getScheduler();
scheduler.start();
// 打印當前的時間,格式 yyyy-MM-dd HH:mm:ss
Date currentTime = new Date();
SimpleDateFormat sf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
System.out.println(“當前的時間:” + sf.format(currentTime));
scheduler.scheduleJob(jobDetail, trigger);
} catch (SchedulerException e) {
e.printStackTrace();
}
}
}

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