第二步:创建要被定执行的任务类
这一步也很简单,只需要创建一个实现了org.quartz.Job接口的类,并实现这个接口的唯一一个方法execute(JobExecutionContext arg0) throws JobExecutionException即可。如:
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())); } }
第三步:创建任务调度,并执行
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(); } }