1.引入jar
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
2.创建一个实现job的类
public class TimerJob implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println(DateUtil.getDate());
}
}
3.创建一个开始job的函数
public static void main(String[] args) throws SchedulerException {
Date runTime = DateBuilder.evenSecondDateAfterNow();
JobDetail jobDetail = JobBuilder.newJob(TimerJob.class).withIdentity("TimerJob").build();
Trigger trigger = TriggerBuilder.
newTrigger().
withIdentity("trigger ").
startAt(runTime).
withSchedule(
SimpleScheduleBuilder.
simpleSchedule().
withIntervalInSeconds(1).
repeatForever()
).
build();
StdSchedulerFactory factory = new StdSchedulerFactory();
Scheduler scheduler = factory.getScheduler();
scheduler.scheduleJob(jobDetail,trigger);
scheduler.start();
}
public static void main(String[] args) throws SchedulerException {
Date runTime = DateBuilder.evenSecondDateAfterNow();
JobDetail jobDetail = JobBuilder.newJob(TimerJob.class).withIdentity("TimerJob").build();
Trigger trigger = TriggerBuilder.newTrigger().
withIdentity("myTrigger").
startAt(runTime).
withSchedule(CalendarIntervalScheduleBuilder.
calendarIntervalSchedule().
withIntervalInSeconds(1)
).build();
StdSchedulerFactory factory = new StdSchedulerFactory();
Scheduler scheduler = factory.getScheduler();
scheduler.start();
scheduler.scheduleJob(jobDetail,trigger);
}
4.创建一个移除job的函数
public static void removeWorkOrderJob(Map<String,Object> param){
try {
SchedulerFactory schedulerFactory = new org.quartz.impl.StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();
TriggerKey triggerKey = TriggerKey.triggerKey(String.valueOf(param.get("id")),"workOderTriggerGroup"
);
scheduler.pauseTrigger(triggerKey);
scheduler.unscheduleJob(triggerKey);
scheduler.deleteJob(JobKey.jobKey(String.valueOf(param.get("id")), "workOderJobGroup"));
System.out.println("删除定时任务,名称"+String.valueOf(param.get("id")));
} catch (SchedulerException e) {
e.printStackTrace();
}
}