我是靠谱客的博主 幸福篮球,这篇文章主要介绍Quartz&&Task一、Quzrtz二、相关概念三、整合四、Task整合,现在分享给大家,希望可以做个参考。

文章目录

  • 一、Quzrtz
  • 二、相关概念
  • 三、整合
  • 四、Task整合


我的B站主页:https://space.bilibili.com/81170341

一、Quzrtz

定时框架:它基于定时任务的基本思想,做了更细的拆分,又给它加了一些设定,让这个定时任务做得更加高效一些。
比如说你做一个定时任务,至少需要两部分东西,第一你要有一个干的事情,第二你要有一个执行的时间,这些东西,他都做了一系列的规范。

二、相关概念

工作(Job) :用于定义具体执行的工作
工作明细(JobDetail) :用于描述定时工作相关的信息
触发器(Trigger) :用于描述触发工作的规则,通常使用cron表达式定义调度则
调度器(Scheduler) :描述了工作明细与触发器的对应关系

三、整合

整合quartz的坐标

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>

定义具体要执行的任务,继承QuartzJobBean

public class QuartzTaskBean extends QuartzJobBean {
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
System.out.println(“quartz job run... ");
}

定义工作明细与触发器,并绑定对应关系

@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整合

开启定时任务功能

@SpringBootApplication
@EnableScheduling//这个
public class Springboot22TaskApplication {
public static void main(String[] args) {
SpringApplication.run(Springboot22TaskApplication.class, args);
}

设置定时执行的任务,并设定执行周期

@Component
public class ScheduledBean {
@Scheduled(cron = "0/5 * * * *?"//这个
public void printLog(){
System.out.println( Thread.currentThread().getName()+" :run...");
}
}

定义工作明细与触发器,并绑定对应关系

@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();
}
}

定时任务相关配置

spring:
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整合内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部