一、jar包
<!-- mvnrepository.com/artifact/org.quartz-scheduler/quartz -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.0</version>
</dependency>
二、代码部分
分为Schedule和Job,Schedule负责调用,Job处理业务逻辑
public class XXJob implements Job{
//继承JOb接口,org.quartz.Job;重写execute方法
XXService xx = (XXService ) SpringContextJobUtil.getBean("xx");
//可通过这种方法引入依赖
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("具体业务逻辑")
}
}
public class MyScheduler {
// 1、创建调度器Scheduler
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();
// 2、创建JobDetail实例,并与PrintWordsJob类绑定(Job执行内容)
JobDetail jobDetail = JobBuilder.newJob(PrintWordsJob.class)
.withIdentity("job1", "group1")
.usingJobData("Name", "传入job参数")
.build();
//在job中通过jobExecutionContext.getJobDetail().getJobDataMap().getXX("Name")获得传入参数
// 3、构建Trigger实例,每隔1s执行一次
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "triggerGroup1")
.startNow()//立即生效
.withSchedule(SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(1)//每隔1s执行一次
.repeatForever()).build();//一直执行
//4、执行
scheduler.scheduleJob(jobDetail, trigger);
scheduler.start();
//5、结束
scheduler.shutdown();
}
}
以上为简单的demo