简介

Quartz是一款功能强大的任务调度器,Quartz有两个比较核心的组件:Job 和 Trigger。

Quartz的三个基本要素
  1. Scheduler:调度器,所有的调度都是由它来控制。
  2. Trigger:触发器,决定什么时候执行任务
  3. JobDetail & Job:JobDetail定义的是任务数据,而真正执行逻辑是在Job中。任务是有可能并发执行的,若Scheduler直接使用Job,就会存在对同一个Job实例并发访问的问题。而JobDetail & Job方式,Scheduler都会根据JobDetail创建一个新的Job实例,这样就可以规避并发访问问题

Spring Boot自带定时任务,默认是单线程

1. 使用spring boot自带定时任务无需添加相关依赖包

2. 在启动类上添加@EnableScheduling注解

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;@SpringBootApplication
@EnableScheduling
public class O2o2Application {public static void main(String[] args) {SpringApplication.run(O2o2Application.class, args);System.out.println("项目启动成功!");}
}

3. 在方法上标注@Scheduled注解,指定该方法作为定时任务运行的方法。并通过cron属性设置cron表达式,来指定定时任务的执行时间

import com.cd.o2o2.dao.ProductSellDailyDao;
import com.cd.o2o2.service.ProductSellDailyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;import java.text.SimpleDateFormat;
import java.util.Date;@Service("productSellDailyService")
public class ProductSellDailyServiceImpl implements ProductSellDailyService {@Override@Scheduled(cron = "0/2 * * * * ?") //定时任务运行的方法public void demo1() {SimpleDateFormat dataFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println(dataFormat.format(new Date()) + "  Quartz Running!");}@Override@Scheduled(cron = "0/5 * * * * ?") //定时任务运行的方法public void demo2() {SimpleDateFormat dataFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println("\n当前执行时间: " + dataFormat.format(new Date()) + "\n");}
}

spring boot集成Quartz实现定时任务相关推荐

  1. Spring Boot集成Quartz动态实现数据库任务

    1. Quartz简介 1.1. 什么是Quartz Quartz是一个开源的任务调度框架.作用是基于定时.定期的策略来执行任务. 它是OpenSymphony开源组织在Job scheduling领 ...

  2. mysql的每隔1分钟定时_简单易用,spring boot集成quartz,实现分布式定时任务

    什么是quartz? Quartz是一个完全由 Java 编写的开源任务调度框架. 我们经常会遇到一些问题: 想每个月27号,提醒信用卡还款: 想每隔1小时,提醒一下,累了,站起来活动一下: 想每个月 ...

  3. Spring Boot集成Quartz注入Spring管理的类

    摘要: 在Spring Boot中使用Quartz时,在JOB中一般需要引用Spring管理的Bean,通过定义Job Factory实现自动注入. Spring有自己的Schedule定时任务,在S ...

  4. Spring Boot 集成 Quartz

    1.美图 2.概述 在项⽬开发中,经常需要定时任务来帮助我们来做一些内容,⽐如定时派息.跑批对账.业务监控等.Spring Boot 体系中现在有两种⽅案可以选择,第⼀种是 Spring Boot 内 ...

  5. Spring boot 集成 Elastic-job 实现定时任务

    1. 介绍 当前主流的分布式任务调度: feature quartz elastic-job xxl-job antares opencron 依赖 mysql jdk1.7+, zookeeper ...

  6. Spring Boot集成ShedLock分布式定时任务实例

    ShedLock使用大全系列 前言 一.ShedLock是什么? 二.落地实现 1.1 引入依赖包 1.2 配置数据库连接信息 1.3 创建Mysql数据表 1.4 配置LockProvider 1. ...

  7. Spring Boot 集成Quartz

    1:在项目的pom文件添加quartz依赖 <!-- quartz定时任务 --> <dependency><groupId>org.springframework ...

  8. spring boot集成quartz scheduler

    工具.版本 开发工具:IntelliJ IDEA JDK:1.8 spring-boot:2.5.6(事例使用,可根据自己版本调整) maven:3.6.3 依赖jar <dependency& ...

  9. spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例...

    本文介绍spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例 集成swagger--对于做前后端分离的项目,后端只需要提供接口访问,swagger提供了接口 ...

最新文章

  1. Solr 使用Facet分组过程中与分词的矛盾解决办法
  2. RoI Pooling 与 RoI Align 有什么区别?
  3. UVA11549计算器谜题
  4. apache 服务器概述--安装(一)
  5. 二倍图(精灵图的用法)
  6. CSS之Responsive设计和CSS3 Media Queries的结合
  7. java单例模式的实现方法_JAVA单例模式的几种实现方法
  8. cron每2天跑一次_直购直测,进口新极光每2年或34000公里才需要保养一次?
  9. java jni编译_从源码编译Android系统的Java类库和JNI动态库的方法
  10. labelme为圆环状物体打标签【tips】
  11. WPS制作三线表(表内横线粗细可调)
  12. 【Nature | EpiMap】Regulatory genomic circuitry of human disease loci by integrative epigenomics
  13. 概率密度函数、概率函数、概率分布函数和积分等的一些概念
  14. apache ii评分怎么评_APACHEII评分说明
  15. 【MATLAB】RGB转换为HSV三通道
  16. 如何修复无法打开的Excel文件,三大原因三大方法为你解决
  17. 2022年秋,工程伦理期末考试答案(仅供参考)
  18. 先行一步,7 大技术创新和突破,阿里云把 Serverless 领域的这些难题都给解了
  19. Qt Quick 3D学习:模型加载
  20. UE4-(室外光照)距离场环境光遮蔽(DFAO)

热门文章

  1. MySQL笔记(一)创建数据库、创建表、修改表、删除表,以及建立约束
  2. Win32中常用消息
  3. Android(Lollipop/5.0) Material Design(六) 使用图像
  4. House Robber
  5. 数据仓库 和挖掘的步骤 - oracle
  6. Flutter Listener 监听手指的滑动方向、监听手指上下滑动
  7. Flutter ScrollView 滑动组件
  8. Mr.J-- HTTP学习笔记(五)-- Web服务器
  9. python全栈学习--day8
  10. java基础—抽象类介绍