SpringBoot 定时任务+Quartz

前言:

1、定时任务技术:

  • JDK 的 Timer, 定义多个定时任务,其中某个任务出现异常,当时整个定时任务终止。
  • Spring Task , 不支持 持久化与分布式部署,所有任务是单线程执行的
  • Quartz,支持持久化多线程执行。

2、Spring Boot 整合Quartz

  • Job: 任务。定时执行的具体任务内容
  • JobDetail: 任务详情。即与任务相关的其他配置信息
  • Trigger: 触发器,主要负责描述任务执行的时间规则
  • Scheduler: 调度器。
  • 将Job和Trigger整合起来之间的关系: Job:JobDetail->1:N JobDetail:Trigger->1:N Trigger:JobDetail->1:1
    在这里插入图片描述

3、引入pom文件:

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

4、创建执行任务,Job (自己的定时任务)

对应代码:

@Slf4j
@DisallowConcurrentExecution
@PersistJobDataAfterExecution
public class MyJob extends QuartzJobBean {
   
   
    @Override
    protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
   
   
        System.out.println("任务开始执行");
        JobDetail jobDetail = context.getJobDetail();
        System.out.println("名字" + jobDetail.getKey().getName());
        System.out.println("类名--->" + jobDetail.getJobClass
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值