Quartz调度框架 整合spring 开发一
1.Quartz 框架简单介绍;
官网 : http://www.quartz-scheduler.org/
2. Quartz 快速入门:
建立maven 项目:
导入quartz 坐标
官方快速入门案例;http://www.quartz-scheduler.org/documentation/quartz-2.1.x/quick-start.html
1案例一:
public class QutarzTest {
public static void main(String[] args) {
try {
// 获取定时器对象
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.start();
scheduler.shutdown();
} catch (SchedulerException se) {
se.printStackTrace();
}
}
}
案例二: SimpleTrigger 使用
// 简单调度任务的应用
掌握 JobDetail 和 Trigger 两个对象
JobDetail 工作任务对象
Trigger 触发器对象 , 确定什么时候执行 多久执行一次
示例代码:
编写 工作任务的代码 实现 Job接口;
public class HellowJob implements Job {
public void execute(JobExecutionContext arg0) throws JobExecutionException {
// 编写 我们需要的业务逻辑代码;
System.out.println("Hellow Quartz");
}
}
// 编写定时任务代码;
public class QutarzTest {
public static void main(String[] args) {
try {
// 获取定时器对象
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
//定义一个工作对象
JobDetail job = JobBuilder.newJob(HellowJob.class)
.withIdentity("job1", "group1")
.build();
//定义一个触发器对象
Trigger build = TriggerBuilder.newTrigger()
.withIdentity("trigger1","group1")
.withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(5))
.build();
scheduler.scheduleJob(job, build);
scheduler.start();
// scheduler.shutdown();
} catch (SchedulerException se) {
se.printStackTrace();
}
}
}
对象 TriggerBuilder 启动任务时间 startNow 立即启动 startAt(Date) 指定时间启动
对象 SimpleScheduleBuilder 进行简单任务重复执行的对象
repeatSecondlyForever() 多少秒后重复执行
repeatMinutelyForever() 多少分钟后重复执行
repeatHourlyForever() 多少小时后重复执行
...................................
案例三: CronTrigger 的使用;
代码示例:
public class QutarzTest {
public static void main(String[] args) {
try {
// 获取定时器对象
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
//定义一个工作对象
JobDetail job = JobBuilder.newJob(HellowJob.class)
.withIdentity("job1", "group1")
.build();
//定义一个触发器对象
Trigger build = TriggerBuilder.newTrigger()
.withIdentity("trigger1","group1")
.withSchedule(CronScheduleBuilder.cronSchedule("0 0 0 ? * *"))
.build();
scheduler.scheduleJob(job, build);
scheduler.start();
// scheduler.shutdown();
} catch (SchedulerException se) {
se.printStackTrace();
}
}
}
二 spring 整合 Quartz :https://blog.****.net/ranrandamowang/article/details/81740546