SpringBoot自动配置Quartz的实现步骤是什么

技术SpringBoot自动配置Quartz的实现步骤是什么本篇内容介绍了“SpringBoot自动配置Quartz的实现步骤是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学

本文介绍了“回弹自动配置石英的实现步骤是什么”的知识。很多人在实际案例的操作中会遇到这样的困难。让边肖带领你学习如何处理这些情况。希望大家认真阅读,学点东西!

1. 依赖信息

springboot2.x版本,出现了spring-boot-starter-quartz的启动依赖,提供了很多丰富的功能。

在10-1010之前引入石英框架时,必须引入以下相关信息:

!-石英芯封装-

属国

group idog . quartz-调度程序/groupId

人工石英/人工石英

版本2 . 3 . 2/版本

/依赖性

!-添加计划坐标-

属国

groupIdorg.springframework/groupId

artifactIdspring-上下文-支持/artifactId

/依赖性

!-斯普林特坐标-

属国

groupIdorg.springframework/groupId

artifactIdspring-tx/artifactId

/dependency引入依赖关系后项目maven中的依赖关系管理信息。

SpringBoot自动配置Quartz的实现步骤是什么

1010年10月10日,新的spring-boot-starter-quartz依赖关系被用来替换原来的三个依赖关系信息:

!-回弹2-石英相关性-

属国

groupIdorg.springframework.boot/groupId

artifactId spring-boot-starter-quartz/artifactId

/dependency引入依赖关系后,由maven管理的依赖关系信息。

从10: 00到1010可以看出,在springBoot2.0之后使用一个starter依赖相当于引入三个依赖信息,spring-boot-starter-quartz本质上和引入三个依赖信息是一样的。

00-1010-

1.1 原依赖信息

使用新的依赖信息后,对于原来的配置模式,如原来的quartz使用流程,是完全可行的:

定义任务实现作业,并重写execute()方法以添加已执行的任务。

配置石英配置类,并将作业、触发器和调度程序对象注入配置类。

使用配置类或启动类上的@EnableScheduling注释打开计划任务。

项目启动时,会自动执行已配置的计划任务。

在新依赖的支持下,项目执行效果完全一致。

00-1010如果说springboot2.0之后的starter依赖带来了变化,最重要的是依赖包封装了quartz的自动配置相关内容。

springboot的autoconfigure自动配置类包支持Quartz相关的自动配置类,如下所示。

SpringBoot自动配置Quartz的实现步骤是什么

class=" list-paddingleft-2">

  • QuartzAutoConfiguration,自动配置类,其中会自动初始化配置调度器类、数据源信息、和数据存储类型等

  • QuartzProperties,配置文件类,对于quartz的配置信息,使用统一的application.yml/properties管理,jar包中提供了一个QuartzProperties类专门用来获取配置文件中quartz相关的配置信息。

    • 该类存在org.springframework.boot.autoconfigure.quartz springboot自动配置包中,获取配置文件中以"spring.quartz"开头的配置

  • QuartzDataSourceInitializer,初始化数据源操作,直接使用spingboot项目的数据源配置

  • JobStoreType,定义quartz数据存储类型的枚举类,有MEMORY/JDBC两个值

  • SchedulerFactoryBeanCustomizer,功能接口,可以通过实现该接口来实现调度器类的自定义配置

  • 使用自动配置类流程

    • 使用starter依赖信息

    • 使用 application.yml/properties 统一管理quartz配置

    • 移除使用@Configuration标注的自动配置类,否则该配置类会代替自动配置

    2.3 配置信息:

    在application.yml文件中配置数据持久化:

    server:
      port: 8082
    spring:
      datasource:
        url: jdbc:mysql://10.35.219.24:3306/test282?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
        username: mysql
        password: Dh3236@db!
        driver-class-name: com.mysql.cj.jdbc.Driver
      quartz:
        #相关属性配置
        properties:
          org:
            quartz:
              scheduler:
                instanceName: clusteredScheduler
                instanceId: AUTO
              jobStore:
                class: org.quartz.impl.jdbcjobstore.JobStoreTX
                driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
                tablePrefix: QRTZ_
                isClustered: true
                clusterCheckinInterval: 10000
                useProperties: false
              threadPool:
                class: org.quartz.simpl.SimpleThreadPool
                threadCount: 15
                threadPriority: 5
                threadsInheritContextClassLoaderOfInitializingThread: true
        #数据库方式
        job-store-type: jdbc

    数据库存储方式字段job-store-typ可以取值为jdbc或memory,如果需要设置为memory存储在内存中时,需要则需要更改jobStore.class为内存类型,并移除jonStore下的其他配置信息;否则会启动报错。

    “SpringBoot自动配置Quartz的实现步骤是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

    内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/61862.html

    (0)

    相关推荐

    • Linux操作系统源

      技术Linux操作系统源 Linux操作系统源记录常见linux操作系统的源以及换源方式。Linux发行版分类
      Linux的发行版本根据维护主体的不同可以大体分为两类,一类是商业公司维护的发行版本,一类

      礼包 2021年12月21日
    • 电话查公司,查企业联系方式有哪些方法

      技术电话查公司,查企业联系方式有哪些方法您好,我来为您解答电话查公司。就目前来说,查询企业联系方式,有以下几种办法:1、打114电话查询。
      114可以帮您查询您所需要的企业的联系方式,你只需要把自己想要查询的企业的名称报

      生活 2021年10月26日
    • 云呐统一运维一体机|工单管理系统智能化运维解决方案

      技术云呐统一运维一体机|工单管理系统智能化运维解决方案 云呐统一运维一体机|工单管理系统智能化运维解决方案运维管理软件集成了事件标准流程机制管理(主管分发、系统分发、工程师自建、用户报修)、事件SLA分

      礼包 2021年12月22日
    • 本周最新文献速递20211114

      技术本周最新文献速递20211114 本周最新文献速递20211114本周最新文献速递20211114一、精细解读文献 一
      文献题目: Mapping the proteo-genomic conver

      礼包 2021年11月15日
    • js中indexof是什么(js中indexof怎么用)

      技术JS中includes()和indexOf()有哪些区别这篇文章给大家分享的是有关JS中includes()和indexOf()有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、

      攻略 2021年12月20日
    • openwrt可以用主路由器吗(openwrt怎样连接网络)

      技术OpenWRT如何连上路由器这篇文章将为大家详细讲解有关OpenWRT如何连上路由器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。连上路由器 刚刚刷好 OpenWRT 的

      攻略 2021年12月18日