zoukankan      html  css  js  c++  java
  • springBoot 整合Quartz框架

        

    一:Quartz框架

      什么是Quartz:Quartz 是 OpenSymphony 开源组织的一个 Java 开源项目, 在 2009 被 Terracotta 收购

      Quartz是做什么的:在某一个规定的时间做某件事情,Quartz就是给一个触发条件的定义,它就会负责到了时间点(满足了触发事件的条件)触发相应的任务  

      举例说Quartz可以做的事情(生活中的案例):

         1、每年的生日

         2、每个月的花呗还款

         3、每间隔一个小时,备份自己的学习笔记

      Quartz的特性:

        1、强大的调度功能,例如支持多样的调度方式

        2、灵活的应用方式,例如支持任务和调度的多种组合方式

        3、分布式和集群功能,Terracotta 在收购后,对原来功能作了进一步提升
      Quartz的主要概念
        1、调度器(Scheduler):Quartz的核心就是调度器,调度器负责管理Quartz应用,运行时环境调度器不是靠自己做所有的工作,而是依赖框架内一些非常重要的部件。为确保可伸缩性,Quartz 采用了基于多线程的架构。启动时,框架初始化一套 worker 线程,这套线程被调度器用来执行预定的作业。这就是 Quartz 怎样能并发运行多个作业的原理。Quartz 依赖一套松耦合的线程池管理部件来管理线程环境。
        2、任务(Job):就是我们自己编写的业务逻辑,交给 quartz 帮我们执行。
        3、触发器(Trigger):什么时候开始执行,什么时候结束执行,触发该事件的条件
      Quartz的基本元素之间的关系如下图所示:
          
      SpringBoot整合Quartz框架:
        基本流程:
          1、首先创建一个maven项目
          2、导入基础依赖和Quartz的依赖
           

           3、创建一个Quartz的配置类 使用@Configuration注解,这个注解就相当于xml中的标签,还会用到@bean注解,该相当于标签,通常二者结合使用

            

          4、编写一个调度器  

            

             调度器中的方法:

              1、fixedDelay 在上一个任务结束之后N秒触发 单位为毫秒

              

              2、fixedRate  在上一个任务开始之后N秒开始 单位为毫秒

              

              3、cron = 复杂的周期调度方式  等号后面是一个表达式  cron=“表达式” 表达式格式:表达式:[秒] [分] [时] [日] [月] [周] [年]  年一般不设置

                

              cron表达式中的通配符: 生成通配符的网站:https://qqe2.com/cron

               1、*表示所有值。 例如:在分的字段上设置 *,表示每一分钟都会触发。

                2、? 表示不指定值,不需要关心当前设置这个字段的值

                3、- 表示区间。例如 在小时上设置 “10-12”,表示 10,11,12点都会触发

                4、, 表示指定多个值,例如在周字段上设置 “MON,WED,FRI” 表示周一,周三和周五触发

                5、/ 用于递增触发。0/5 每隔5秒

                   6、L 表示最后的意思  W 表示离指定日期的最近那个工作日(周一至周五)

                7、# 序号(表示每月的第几个周几),例如在周字段上设置”6#3”表示在每月的第三个周六

     
      
  • 相关阅读:
    Java IO流学习总结
    wpf 右键ListBox可编辑
    silverlight 独立存储之路径、保存图片、扩展空间注意事项
    自定义wpf的MessageBox(可重定义button键文字)
    细数各大顶级网站的垃圾设置!!!
    无法为 SSL/TLS 安全通道与颁发机构“*****”建立信任关系。
    JS完美运动框架
    修改thinkphp缩略图源码 生成固定的缩略图
    20120609 随笔
    php 图片处理函数
  • 原文地址:https://www.cnblogs.com/snyv-nice/p/12606877.html
Copyright © 2011-2022 走看看