最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot自動配置Quartz的實(shí)現(xiàn)步驟

 更新時(shí)間:2021年11月01日 09:49:49   作者:showsen  
本文主要介紹了SpringBoot自動配置Quartz的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

SpringBoot2.0版本之后,其中增加了對Quartz框架的支持內(nèi)容,可以實(shí)現(xiàn)通過容器來自動配置Quartz。

1. 依賴信息

springboot2.x版本時(shí),出現(xiàn)了spring-boot-starter-quartz這一起步依賴,其中提供了很多豐富功能。

1.1 原依賴信息

之前引入quartz框架時(shí),必須引入的依賴信息有:

<!--quartz核心包-->
<dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>2.3.2</version>
</dependency>
<!--添加Scheduled坐標(biāo)-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
</dependency>
<!--Spring tx 坐標(biāo)-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
</dependency>

依賴引入之后,項(xiàng)目的maven中的依賴管理信息

1.2 新的依賴

使用新的spring-boot-starter-quartz依賴代替原有三種依賴信息:

<!--springboot2-quartz依賴-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-quartz</artifactId>
</dependency>

依賴引入后,項(xiàng)目maven管理的依賴信息

1.3 依賴變化

可以看出,springBoot2.0之后使用一個(gè)starter依賴就相當(dāng)于引入三個(gè)依賴信息,spring-boot-starter-quartz本質(zhì)上與引入三個(gè)依賴信息相同。

2. 新的依賴使用

2.1 默認(rèn)配置可用

使用新的依賴信息后,對于原有的配置方式是完全可行的,如原有的quartz使用流程:

  • 定義任務(wù)實(shí)現(xiàn)Job,并重寫其中的execute()方法,添加執(zhí)行的任務(wù)
  • 配置Quartz配置類,配置類中注入Job、Trigger、Scheduler對象
  • 配置類或者啟動類上使用@EnableScheduling注解開啟定時(shí)任務(wù)
  • 項(xiàng)目啟動時(shí)會自動執(zhí)行配置的定時(shí)任務(wù)

在新的依賴支持下項(xiàng)目執(zhí)行效果完全一致。

2.2 使用自動配置

如果說springboot2.0之后的starter依賴帶來的變化,最主要的就是依賴包中封裝了quartz的自動配置相關(guān)內(nèi)容。

quartz相關(guān)的自動配置類是springboot的autoconfigure自動配置類包中提供的支持,如下

  • QuartzAutoConfiguration,自動配置類,其中會自動初始化配置調(diào)度器類、數(shù)據(jù)源信息、和數(shù)據(jù)存儲類型等
  • QuartzProperties,配置文件類,對于quartz的配置信息,使用統(tǒng)一的application.yml/properties管理,jar包中提供了一個(gè)QuartzProperties類專門用來獲取配置文件中quartz相關(guān)的配置信息。
    • 該類存在org.springframework.boot.autoconfigure.quartz springboot自動配置包中,獲取配置文件中以"spring.quartz"開頭的配置
  • QuartzDataSourceInitializer,初始化數(shù)據(jù)源操作,直接使用spingboot項(xiàng)目的數(shù)據(jù)源配置
  • JobStoreType,定義quartz數(shù)據(jù)存儲類型的枚舉類,有MEMORY/JDBC兩個(gè)值
  • SchedulerFactoryBeanCustomizer,功能接口,可以通過實(shí)現(xiàn)該接口來實(shí)現(xiàn)調(diào)度器類的自定義配置

使用自動配置類流程

  • 使用starter依賴信息
  • 使用 application.yml/properties 統(tǒng)一管理quartz配置
  • 移除使用@Configuration標(biāo)注的自動配置類,否則該配置類會代替自動配置

2.3 配置信息:

在application.yml文件中配置數(shù)據(jù)持久化:

server:
  port: 8082

spring:
  datasource:
    url: jdbc:mysql://10.35.219.24:3306/test282?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
    username: mysql
    password: Dh2236@db!
    driver-class-name: com.mysql.cj.jdbc.Driver
  quartz:
    #相關(guān)屬性配置
    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
    #數(shù)據(jù)庫方式
    job-store-type: jdbc

數(shù)據(jù)庫存儲方式字段job-store-typ可以取值為jdbc或memory,如果需要設(shè)置為memory存儲在內(nèi)存中時(shí),需要?jiǎng)t需要更改jobStore.class為內(nèi)存類型,并移除jonStore下的其他配置信息;否則會啟動報(bào)錯(cuò)。

3. 總結(jié)

SpringBoot的自動配置帶來了很大的效率,減去了很多重復(fù)的配置、也增加了代碼的簡潔性。

但是,自動配置往往也會帶來一些問題,如自動配置沖突等情況,往往需要手動來選擇最終使用的配置對象。

到此這篇關(guān)于SpringBoot自動配置Quartz的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)SpringBoot自動配置Quartz內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java集合迭代器Iterator中的remove陷阱

    java集合迭代器Iterator中的remove陷阱

    這篇文章主要介紹了java集合迭代器Iterator中的remove陷阱,需要的朋友可以參考下
    2016-04-04
  • java懶惰評估實(shí)現(xiàn)方法

    java懶惰評估實(shí)現(xiàn)方法

    這篇文章主要介紹了java懶惰評估如何實(shí)現(xiàn)的相關(guān)內(nèi)容及實(shí)例,有興趣的朋友們可以學(xué)習(xí)參考下。
    2021-05-05
  • Spring中基于Java的配置@Configuration和@Bean用法詳解

    Spring中基于Java的配置@Configuration和@Bean用法詳解

    這篇文章主要介紹了Spring中基于Java的配置@Configuration和@Bean用法詳解,Spring中為了減少xml中配置,可以聲明一個(gè)配置類(例如SpringConfig)來對bean進(jìn)行配置。,需要的朋友可以參考下
    2019-06-06
  • idea如何生成springboot單元測試用例

    idea如何生成springboot單元測試用例

    這篇文章主要介紹了idea生成springboot單元測試用例,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • SpringBoot啟動流程SpringApplication準(zhǔn)備階段源碼分析

    SpringBoot啟動流程SpringApplication準(zhǔn)備階段源碼分析

    這篇文章主要為大家介紹了SpringBoot啟動流程SpringApplication準(zhǔn)備階段源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • java?串口工具jSerialComm示例詳解

    java?串口工具jSerialComm示例詳解

    這篇文章主要介紹了java?串口工具jSerialComm,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • 一篇文章帶你了解Java泛型的super和extends

    一篇文章帶你了解Java泛型的super和extends

    這篇文章主要介紹了Java泛型extends及super區(qū)別實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Java中mybatis的三種分頁方式

    Java中mybatis的三種分頁方式

    這篇文章主要介紹了Java中mybatis的三種分頁方式,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • 詳解如何實(shí)現(xiàn)OpenAPI開發(fā)動態(tài)處理接口的返回?cái)?shù)據(jù)

    詳解如何實(shí)現(xiàn)OpenAPI開發(fā)動態(tài)處理接口的返回?cái)?shù)據(jù)

    這篇文章主要為大家介紹了OpenAPI開發(fā)動態(tài)處理接口的返回?cái)?shù)據(jù)如何實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Java中常用緩存Cache機(jī)制的實(shí)現(xiàn)

    Java中常用緩存Cache機(jī)制的實(shí)現(xiàn)

    這篇文章主要介紹了Java中常用緩存Cache機(jī)制的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10

最新評論

清新县| 遵义县| 海安县| 大厂| 奎屯市| 电白县| 攀枝花市| 长葛市| 余庆县| 仙居县| 石阡县| 汶川县| 天津市| 蒲江县| 华阴市| 西乌| 将乐县| 贵溪市| 呼和浩特市| 深州市| 客服| 永仁县| 桂平市| 岳阳市| 黑龙江省| 蒙自县| 班戈县| 玛曲县| 边坝县| 罗源县| 屏东县| 湄潭县| 安国市| 新郑市| 托克逊县| 修武县| 长治市| 四会市| 辽源市| 松滋市| 阳西县|