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

Spring實現(xiàn)Quartz自動配置的方法詳解

 更新時間:2023年11月13日 09:25:25   作者:阿湯哥  
這篇文章主要介紹了Spring實現(xiàn)Quartz自動配置的方法詳解,如果想在應(yīng)用中使用Quartz任務(wù)調(diào)度功能,可以通過Spring Boot實現(xiàn)Quartz的自動配置,以下介紹如何開啟Quartz自動配置,以及Quartz自動配置的實現(xiàn)過程,需要的朋友可以參考下

1. 開啟Quartz自動配置

QuartzAutoConfiguration自動為Quartz的自動配置類,它的創(chuàng)建了SchedulerFactoryBean。

在這里插入圖片描述

首先通過QuartzAutoConfiguration自動配置類可以看到,要實現(xiàn)Quartz自動配置,需要存在三個類Scheduler.class, SchedulerFactoryBean.class, PlatformTransactionManager.class,其中

  • Scheduler所在包quartz-2.3.0.jar
  • SchedulerFactoryBean所在包spring-context-support-5.2.10.RELEASE.jar
  • PlatformTransactionManager所在包spring-tx-5.2.10.RELEASE.jar 因此需要確保這三個Jar包在pom文件中存在。

在這里插入圖片描述

Quartz的坐標示例:

<dependency>
  <groupId>org.quartz-scheduler</groupId>
  <artifactId>quartz</artifactId>
  <version>2.3.0</version>
</dependency>

2. Quartz自動配置的實現(xiàn)過程

2.1 核心類圖

下圖展示了Quartz的核心類圖,其中

  • Scheduler是Quartz調(diào)度器的主接口;
  • SchedulerFactory是調(diào)度器工廠接口,用戶獲取調(diào)度器實例;
  • StdScheduler是Scheduler的一個實現(xiàn)類,同時也是一個代理類,它會將所有的方法調(diào)用直接傳遞給內(nèi)部的QuartzScheduler對象;RemoteScheduler是Scheduler的另一個實現(xiàn)類,同時也是一個代理類,它會將所有的方法調(diào)用通過RMI傳遞給遠程的QuartzScheduler對象;
  • StdSchedulerFactory是SchedulerFactory的實現(xiàn)類,它會創(chuàng)建QuartzScheduler對象,并返回其代理對象StdScheduler;
  • QuartzSchedulerResources包含所有的資源,包括JobStore、線程池信息等;
  • QuartzSchedulerThread是觸發(fā)和執(zhí)行任務(wù)的主線程;

在這里插入圖片描述

2.2 核心方法

  • 準備SchedulerFactory -> StdSchedulerFactory
  • 準備Scheduler -> StdScheduler
  • 注冊監(jiān)聽器
  • 注冊任務(wù)和觸發(fā)器

在這里插入圖片描述

3. 任務(wù)調(diào)度執(zhí)行

3.1 大致流程

任務(wù)調(diào)度的大致流程:

  • 如果線程池有可用線程,獲取待執(zhí)行Trigger;
  • 獲取觸發(fā)器Trigger的觸發(fā)任務(wù),構(gòu)造JobRunShell;
  • 放入線程池執(zhí)行任務(wù),默認使用線程池實現(xiàn) org.quartz.simpl.SimpleThreadPool;

在這里插入圖片描述

3.2 調(diào)整線程池的大小

線程池的默認大小為10,可以通過配置文件調(diào)整默認線程池的大小

spring:
  quartz:
    properties:
      org:
        quartz:
          threadPool:
            threadCount: 15

本文從如何開啟Quartz自動配置入手,介紹了自動配置的核心類和自動配置的實現(xiàn)過程,以及任務(wù)調(diào)度的大致執(zhí)行邏輯,最后介紹了如何通過Spring配置調(diào)整線程池的大小,希望對大家有所幫助。

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

相關(guān)文章

  • MyBatis之一級緩存和二級緩存問題

    MyBatis之一級緩存和二級緩存問題

    這篇文章主要介紹了MyBatis之一級緩存和二級緩存問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • SpringBoot實現(xiàn)支付寶沙箱支付的完整步驟

    SpringBoot實現(xiàn)支付寶沙箱支付的完整步驟

    沙箱支付是一種用于模擬真實支付環(huán)境的測試工具,它提供了一個安全的測試環(huán)境,供開發(fā)者在不影響真實交易的情況下進行支付功能的開發(fā)和測試,這篇文章給大家介紹了SpringBoot實現(xiàn)支付寶沙箱支付的完整步驟,需要的朋友可以參考下
    2024-04-04
  • 使用proguard對maven構(gòu)建的springboot項目進行混淆方式

    使用proguard對maven構(gòu)建的springboot項目進行混淆方式

    文章介紹了如何使用ProGuard對Maven構(gòu)建的Spring Boot項目進行混淆,并解決混淆后可能遇到的版本兼容性問題和類名沖突問題,主要步驟包括下載高版本的ProGuard、配置POM文件、添加ProGuard配置文件、修改Spring Boot啟動文件以避免類名沖突
    2024-11-11
  • SpringBoot沒有主清單屬性的解決方法

    SpringBoot沒有主清單屬性的解決方法

    在本篇文章里小編給大家整理的是關(guān)于解決SpringBoot沒有主清單屬性知識點,需要的朋友們學習下。
    2019-11-11
  • Java設(shè)計模式之責任鏈模式簡介

    Java設(shè)計模式之責任鏈模式簡介

    這篇文章主要介紹了Java設(shè)計模式之責任鏈模式,需要的朋友可以參考下
    2014-07-07
  • 解決springboot報錯Failed?to?parse?multipart?servlet?request;?nested?exception?is?java.io.IOException問題

    解決springboot報錯Failed?to?parse?multipart?servlet?request

    在使用SpringBoot開發(fā)時,通過Postman發(fā)送POST請求,可能會遇到因臨時目錄不存在而導致的MultipartException異常,這通常是因為OS系統(tǒng)(如CentOS)定期刪除/tmp目錄下的臨時文件,解決方案包括重啟項目
    2024-10-10
  • Java字節(jié)緩存流的構(gòu)造方法之文件IO流

    Java字節(jié)緩存流的構(gòu)造方法之文件IO流

    這篇文章主要介紹了Java字節(jié)緩存流的構(gòu)造方法之文件IO流,同時也介紹了字符流中的一些相關(guān)的內(nèi)容,并且通過大量的案例供大家理解。最后通過一些經(jīng)典的案例幫助大家對前面所學的知識做了一個綜合的應(yīng)用,需要的朋友可以參考一下
    2022-04-04
  • 解決Spring boot 嵌入的tomcat不啟動問題

    解決Spring boot 嵌入的tomcat不啟動問題

    這篇文章主要介紹了解決Spring boot 嵌入的tomcat不啟動問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Fluent Mybatis零xml配置實現(xiàn)復雜嵌套查詢

    Fluent Mybatis零xml配置實現(xiàn)復雜嵌套查詢

    本文主要介紹了Fluent Mybatis零xml配置實現(xiàn)復雜嵌套查詢,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 一文秒懂Java中的樂觀鎖 VS 悲觀鎖

    一文秒懂Java中的樂觀鎖 VS 悲觀鎖

    這篇文章主要介紹了java樂觀鎖 VS 悲觀鎖的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-05-05

最新評論

巴青县| 瑞丽市| 措勤县| 荣成市| 新龙县| 酒泉市| 凤山县| 邵武市| 兴安盟| 东山县| 衡南县| 集贤县| 土默特右旗| 武强县| 黄龙县| 元江| 蒲江县| 临汾市| 阿勒泰市| 平江县| 个旧市| 金湖县| 浮梁县| 隆昌县| 临泽县| 清水县| 静海县| 长海县| 布尔津县| 祁门县| 莲花县| 桦甸市| 漠河县| 昌黎县| 田阳县| 扶绥县| 大悟县| 政和县| 泸水县| 饶河县| 承德县|