java 調度工具之 Quartz

package com.notallow.HelloQuartz;

import java.text.SimpleDateFormat;
import java.util.Date;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
//工作任務
public class HelloeJob implements Job{
//類似於線程的 run方法
public void execute(JobExecutionContext arg0) throws JobExecutionException {
//打印當前時間
Date date=new Date();
SimpleDateFormat sf=new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
System.out.println(sf.format(date));
//編寫業務邏輯
System.out.println(“Hello world”);
}
}

//—————————————————————————
package com.notallow.HelloQuartz;

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;
/**
* JobDetail 是由Builder 模式來創建的
* @author Administrator
*JobDetail and Trigger group name is not have relationship
*/
public class HelloSchedule {
public static void main(String[] args) throws SchedulerException {
// 創建 job Detail 實例,將該實例與HelloJob Class綁定 //所用身份 唯一標識 所屬小組
JobDetail jobDetail = JobBuilder.newJob(HelloeJob.class).withIdentity(“myJob”, “group”).build();

    // 創建Trigger實例,觸發job去執行,定義該job 立即執行,並且每隔兩秒重複執行一次,直到永遠
    Trigger trigger = TriggerBuilder.newTrigger()
            .withIdentity("mytrigger", "group").startNow()
            .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(2).repeatForever()).build();//執行頻度
    //startnow 立即執行   withIntervalInSeconds 間隔 秒數在 2秒內  repeatForever 重複到永遠

    //創建Schedule 實例
    SchedulerFactory sfact = new StdSchedulerFactory();
    Scheduler scheduler = sfact.getScheduler();
    scheduler.start();
    //翻譯過來 工作時間表      jobDetail工作任務   trigger 時間表
    scheduler.scheduleJob(jobDetail,trigger);
}

}

mvn pom.xml


org.quartz-scheduler
quartz
2.2.3

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