Java 定時任務quartz job

第二步:建立要被定執行的任務類java

  這一步也很簡單,只須要建立一個實現了org.quartz.Job接口的類,並實現這個接口的惟一一個方法execute(JobExecutionContext arg0) throws JobExecutionException便可。如:ui

複製代碼
package com.fync.quartz;

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

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
/**
 * 建立要被定執行的任務類
 * @author long
 *
 */
public class MyJob implements Job{

    public void execute(JobExecutionContext context)
            throws JobExecutionException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        System.out.println(sdf.format(new Date()));
    }

}
複製代碼

第三步:建立任務調度,並執行spa

複製代碼
package com.fync.quartz;

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;

/**
 * 建立任務調度,並執行
 * @author long    
 *
 */
public class MainScheduler {
    
    //建立調度器
    public static Scheduler getScheduler() throws SchedulerException{
        SchedulerFactory schedulerFactory = new StdSchedulerFactory();
        return schedulerFactory.getScheduler();
    }
    
    
    public static void schedulerJob() throws SchedulerException{
        //建立任務
        JobDetail jobDetail = JobBuilder.newJob(MyJob.class).withIdentity("job1", "group1").build();
        //建立觸發器 每3秒鐘執行一次
        Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group3")
                            .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(3).repeatForever())
                            .build();
        Scheduler scheduler = getScheduler();
        //將任務及其觸發器放入調度器
        scheduler.scheduleJob(jobDetail, trigger);
        //調度器開始調度任務
        scheduler.start();
        
    }
    
    public static void main(String[] args) throws SchedulerException {
        MainScheduler mainScheduler = new MainScheduler();
        mainScheduler.schedulerJob();
    }

} 
複製代碼
相關文章
相關標籤/搜索