一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - SpringBoot自動配置Quartz的實現步驟

SpringBoot自動配置Quartz的實現步驟

2022-03-08 00:40showsen Java教程

本文主要介紹了SpringBoot自動配置Quartz的實現步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

SpringBoot2.0版本之后,其中增加了對Quartz框架的支持內容,可以實現通過容器來自動配置Quartz。

 

1. 依賴信息

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

1.1 原依賴信息

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

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

依賴引入之后,項目的maven中的依賴管理信息

SpringBoot自動配置Quartz的實現步驟

1.2 新的依賴

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

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

依賴引入后,項目maven管理的依賴信息

1.3 依賴變化

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

 

2. 新的依賴使用

2.1 默認配置可用

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

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

在新的依賴支持下項目執行效果完全一致。

2.2 使用自動配置

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

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

SpringBoot自動配置Quartz的實現步驟

  • 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: Dh2236@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下的其他配置信息;否則會啟動報錯。

 

3. 總結

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

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

到此這篇關于SpringBoot自動配置Quartz的實現步驟的文章就介紹到這了,更多相關SpringBoot自動配置Quartz內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://juejin.cn/post/7024888685912915999

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91制片厂制作果冻传媒2021 | 国产精品久久久久久影院 | 四虎一影院区永久精品 | 天天白天天谢天天啦 | 欧美人与禽交片在线播放 | 四虎在线视频免费观看视频 | 99免费精品 | 免费被靠视频动漫 | 好姑娘在线完整版视频 | 四虎在线永久免费视频网站 | 岛国a香蕉片不卡在线观看 荡女淫春2古装 | 日本成人免费在线视频 | 99热这里只有精品在线观看 | 久久精品手机观看 | 男男视频18免费网站 | 视频在线观看一区二区三区 | 亚洲波霸 | 精品视频二区 | 好大好猛好爽好深视频免费 | 午夜dj影院在线视频观看完整 | 窝窝色资源站 | 精品视频一区二区 | yy6080久久国产伦理 | 国产一区二区在线观看视频 | 好吊操这里有精品 | ts人妖国产一区 | 成人影院入口 | 新版孕妇bbwbbwbbw | 色天天色综合 | chinese老太grandma| 99热这里只有精品国产在热久久 | 91视频www| 福利视频一区青娱 | 国产精品久久久久久岛国 | 夫妇交换小说全文阅读 | 美女被吸乳得到大胸 | 动漫美女人物被黄漫小说 | 国产欧美日韩精品一区二区三区 | 日韩日日操 | 色老板最新网站视频地址 | 双性人bbww欧美双性 |