文章目录
- 一、Quzrtz
- 二、相关概念
- 三、整合
- 四、Task整合
我的B站主页:https://space.bilibili.com/81170341
一、Quzrtz
定时框架:它基于定时任务的基本思想,做了更细的拆分,又给它加了一些设定,让这个定时任务做得更加高效一些。
比如说你做一个定时任务,至少需要两部分东西,第一你要有一个干的事情,第二你要有一个执行的时间,这些东西,他都做了一系列的规范。
二、相关概念
工作(Job) :用于定义具体执行的工作
工作明细(JobDetail) :用于描述定时工作相关的信息
触发器(Trigger) :用于描述触发工作的规则,通常使用cron表达式定义调度则
调度器(Scheduler) :描述了工作明细与触发器的对应关系
三、整合
整合quartz的坐标
复制代码
1
2
3
4
5<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency>
定义具体要执行的任务,继承QuartzJobBean
复制代码
1
2
3
4
5
6public class QuartzTaskBean extends QuartzJobBean { @Override protected void executeInternal(JobExecutionContext context) throws JobExecutionException { System.out.println(“quartz job run... "); }
定义工作明细与触发器,并绑定对应关系
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14@Configuration public class QuartzConfig { @Bean public JobDetail printJobDetail(){ return JobBuilder.newJob(QuartzTaskBean.class).storeDurab1y().build(); @Bean public Trigger printJobTrigger() { CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule("0/3 * * * *?"); return TriggerBuilder.newTrigger().forJob(printJobDetail()).withSchedule(cronScheduleBuilder).build(); } }
四、Task整合
开启定时任务功能
复制代码
1
2
3
4
5
6
7@SpringBootApplication @EnableScheduling//这个 public class Springboot22TaskApplication { public static void main(String[] args) { SpringApplication.run(Springboot22TaskApplication.class, args); }
设置定时执行的任务,并设定执行周期
复制代码
1
2
3
4
5
6
7
8@Component public class ScheduledBean { @Scheduled(cron = "0/5 * * * *?"//这个 public void printLog(){ System.out.println( Thread.currentThread().getName()+" :run..."); } }
定义工作明细与触发器,并绑定对应关系
复制代码
1
2
3
4
5
6
7
8
9
10
11
12@Configuration public class QuartzConfig { @Bean public JobDetail printJobDetail(){ return JobBuilder.newJob(QuartzTaskBean.class).storeDurab1y().build(); @Bean public Trigger printJobTrigger() { CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule("0/3 * * * *?"); return TriggerBuilder.newTrigger().forJob(printJobDetail()).withSchedule(cronScheduleBuilder).build(); } }
定时任务相关配置
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14spring: task : scheduling : #任务调度线程池大小默认1 pool: size: 1 #调度线程名称前缀默认scheduling- thread-name-prefix: ssm_ shutdown : #线程池关闭时等待所有任务完成 await-termination: false #调度线程关闭前最大等待时间, 确保最后一定关闭 await-termination-period: 10s
最后
以上就是幸福篮球最近收集整理的关于Quartz&&Task一、Quzrtz二、相关概念三、整合四、Task整合的全部内容,更多相关Quartz&&Task一、Quzrtz二、相关概念三、整合四、Task整合内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复