https://blog.csdn.net/bicheng4769/article/details/81097305 Quartz框架介绍及简单使用
https://www.cnblogs.com/drift-ice/p/3817269.html一个简单的示例
https://blog.csdn.net/dongdingzhuo/article/details/86623914# SpringBoot+Quartz+Maven+MySql实现动态定时任务
https://blog.csdn.net/lxp18850413505/article/details/81026649 Java框架_SpringBoot整合Quartz
自己写的实例:
package com.example.quartz.entity;
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class quartzMain {
@Bean
public Scheduler scheduler() throws SchedulerException {
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
//定义job
JobDetail oneJob = JobBuilder.newJob(HelloQuartz.class).withIdentity("job1", "group1").build();//定时获取数据
// JobDetail pl3 = JobBuilder.newJob(DltJob.class).withIdentity("job2", "group1").build();
// JobDetail daletou = JobBuilder.newJob(pl3Job.class).withIdentity("job3", "group1").build();
// JobDetail pl5 = JobBuilder.newJob(pl5Job.class).withIdentity("job4", "group1").build();
// JobDetail sxc = JobBuilder.newJob(SxcJob.class).withIdentity("job5", "group1").build();
// JobDetail sfc = JobBuilder.newJob(SfcJob.class).withIdentity("job6", "group1").build();
//定义触发器
TriggerBuilder<Trigger> newTrigger = trigger();
newTrigger.withIdentity("trigger1", "group1");
newTrigger.withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(1).repeatForever()).build();
//newTrigger.withSchedule(CronScheduleBuilder.cronSchedule("0 30 23 * * ? *"));//十一点半执行,防止数据冲突
//newTrigger.withSchedule(CronScheduleBuilder.cronSchedule("0 */2 * * * ?"));
Trigger oneTrigger = newTrigger.build();
/*-------------------------星期1 3 6晚9.30-----------------------*/
// 1 2 3 4 5 6 7
//MON、THU、WED、THU、FRI、SAT、SUN
newTrigger.withIdentity("trigger2", "group1");//0 30 9 0 0 1,3,6
newTrigger.withSchedule(CronScheduleBuilder.cronSchedule("0 30 21 ? * MON,WED,SAT"));
Trigger secondTrigger = newTrigger.build();
/*-------------------------每天 8.30-----------------------*/
newTrigger.withIdentity("trigger3", "group1");
newTrigger.withSchedule(CronScheduleBuilder.cronSchedule("0 30 20 * * ? *"));
Trigger ThredTrigger = newTrigger.build();
newTrigger.withIdentity("trigger4", "group1");
newTrigger.withSchedule(CronScheduleBuilder.cronSchedule("0 30 20 * * ? *"));
Trigger FourTrigger = newTrigger.build();
newTrigger.withIdentity("trigger5", "group1");
newTrigger.withSchedule(CronScheduleBuilder.cronSchedule("0 30 20 ? * THU,FRI,SUN"));
Trigger FiveTrigger = newTrigger.build();
// 上午十点 胜负彩
newTrigger.withIdentity("trigger7", "group1");
newTrigger.withSchedule(CronScheduleBuilder.cronSchedule("0 0 10 * * ? *"));
Trigger SixTrigger = newTrigger.build();
//确定
// scheduler.scheduleJob(pl3, ThredTrigger);
// scheduler.scheduleJob(daletou, secondTrigger);
scheduler.scheduleJob(oneJob, oneTrigger);
// scheduler.scheduleJob(pl5, FourTrigger);
// scheduler.scheduleJob(sxc, FiveTrigger);
// scheduler.scheduleJob(sfc, SixTrigger);
scheduler.start();
return scheduler;
}
@Bean
public TriggerBuilder<Trigger> trigger() {
return TriggerBuilder.newTrigger();
}
/*public static void main(String[] args) {
//定义一个JobDetail
JobDetail jobDetail = JobBuilder.newJob(HelloQuartz.class).build();
*//* //定义name和group
.withIdentity("job1", "group1")
//job需要传递的内容
.usingJobData("name", "sdas")
.build();*//*
//定义一个Trigger
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1")
//加入 scheduler之后立刻执行
.startNow()
//定时 ,每个1秒钟执行一次
.withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(1)
//重复执行
.repeatForever()).build();
try {
//创建scheduler
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.scheduleJob(jobDetail, trigger);
scheduler.start(); //运行一段时间后关闭
try {
Thread.sleep(6000);
} catch (InterruptedException e) {
e.printStackTrace();
}
scheduler.shutdown();
} catch (
SchedulerException e) {
e.printStackTrace();
}
}*/
}
package com.example.quartz.entity;
import org.quartz.Job;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import java.util.Date;
public class HelloQuartz implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
JobDetail detail = jobExecutionContext.getJobDetail();
String name = detail.getJobDataMap().getString("name");
System.out.println("my job name is " + name + " at " + new Date());
}
}