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)

    相关推荐

    • Java如何将Word转为PDF、PNG、SVG、RTF、XPS、TXT、XML

      技术Java如何将Word转为PDF、PNG、SVG、RTF、XPS、TXT、XML小编给大家分享一下Java如何将Word转为PDF、PNG、SVG、RTF、XPS、TXT、XML,相信大部分人都还不怎么了解,因此分享

      攻略 2021年11月24日
    • 怎么解决Mac下sublime打不开iTerm2的问题

      技术怎么解决Mac下sublime打不开iTerm2的问题本篇内容主要讲解“怎么解决Mac下sublime打不开iTerm2的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习

      攻略 2021年11月18日
    • Redis中怎么实现分布式锁

      技术Redis中怎么实现分布式锁本篇内容介绍了“Redis中怎么实现分布式锁”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成

      2021年10月20日
    • IINA有哪些特征

      技术IINA有哪些特征本篇内容介绍了“IINA有哪些特征”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  IINAMac

      攻略 2021年11月12日
    • ln求导公式,ln,X+√1+x2)如何求导

      技术ln求导公式,ln,X+√1+x2)如何求导(ln(x+√(1+x^2)))=(x+√(1+x^2))/(x+√(1+x^2))
      =(1+2x/(2√(1+x^2)))/(x+√(1+x^2))
      =1/√(1+x^2

      生活 2021年10月21日
    • Linux操作系统源

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

      礼包 2021年12月21日