首先定义一个任务:任务很简单,就是打印。"Hello World!!!"
public class MyJob implements Job { @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { System.out.println("Hello World!!!"); } } 然后创建一个执行任务调度的工具类 package com.weiyi.study.ss; import lombok.extern.slf4j.Slf4j; import org.quartz.*; import org.quartz.impl.StdSchedulerFactory; import org.springframework.stereotype.Component; /** * @author <a href="mailto:shizi@microants.cn">狮子</a> * version 1.0.0 * since 1.0.0 */ @Component @Slf4j public class SchedulerUtil { /** * 简单的任务调度方法 * @param jobName 任务名称 * @param jobGroupName 任务组名称 * @param triggerName 触发器名称 * @param triggerGroupName 触发器组的名称 * @param jobClass 任务的class对象 * @param time 每隔几秒执行一次 * @param count 总共执行几次 * @throws SchedulerException */ public static void handleSimpleTrigger(String jobName,String jobGroupName,String triggerName,String triggerGroupName,Class jobClass,int time,int count) throws SchedulerException { SchedulerFactory factory = new StdSchedulerFactory(); Scheduler scheduler = factory.getScheduler(); JobDetail jobDetail = JobBuilder.newJob(jobClass).withIdentity(jobName, jobGroupName).build(); Trigger trigger = TriggerBuilder.newTrigger().withIdentity(triggerName, triggerGroupName).withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(time).withRepeatCount(count)).startNow().build(); scheduler.scheduleJob(jobDetail,trigger); scheduler.start(); } /** * cron表达式任务调度方法 * @param jobName 任务名称 * @param jobGroupName 任务组名称 * @param triggerName 触发器名称 * @param triggerGroupName 触发器组名称 * @param jobClass 任务对象class * @param cron cron表达式 * @throws SchedulerException */ public static void handleCronTrigger(String jobName,String jobGroupName,String triggerName,String triggerGroupName,Class jobClass,String cron ) throws SchedulerException { SchedulerFactory factory = new StdSchedulerFactory(); Scheduler scheduler = factory.getScheduler(); JobDetail jobDetail = JobBuilder.newJob(jobClass).withIdentity(jobName, jobGroupName).build(); Trigger trigger=TriggerBuilder.newTrigger().withIdentity(triggerName, triggerGroupName) .withSchedule(CronScheduleBuilder.cronSchedule(cron)) .startNow().build(); scheduler.scheduleJob(jobDetail,trigger); scheduler.start(); } //每隔5秒钟执行一次任务调度,总共执行5次 // public static void main(String[] args) throws SchedulerException { // SchedulerUtil.handleSimpleTrigger("9999","2222","6666","8888",MyJob.class,5,5); // } //每天下午的13点37分执行任务调度 public static void main(String[] args) throws SchedulerException { SchedulerUtil.handleCronTrigger("9999","2222","6666","8888",MyJob.class,"0 37 13 ? * *"); } }