欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

@RefreshScope在Quartz 觸發(fā)器類導致異常問題解決分析

 更新時間:2023年02月10日 17:12:17   作者:畢小寶  
這篇文章主要為大家介紹了@RefreshScope在Quartz 觸發(fā)器類導致異常問題解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

背景

承接上篇,測試過程中又遇到了 Nacos Config 的動態(tài)刷新注解 @RefreshScope 與 Quartz 框架結合的問題,Bug 排查路上,順手記錄一下吧。

問題

有個模塊使用了Quartz ,通過配置控制任務調(diào)度的周期和分組名稱。

因為引用了動態(tài)配置,所以對每個注入類都加上了 @RefreshScope ,代碼如下:

@Value("${quartz.task.cron}")
private String taskCron;
@Bean
public JobDetail taskJobDetail(){
    JobDetail jobDetail = JobBuilder.newJob(XXTaskJob.class)
            .withIdentity("taskName","taskGroup")
            .storeDurably()
            .build();
    return jobDetail;
}
@Bean
@RefreshScope
public Trigger taskTrigger() {
    Trigger trigger = TriggerBuilder.newTrigger()
            .forJob(taskJobDetail())
            .withIdentity("taskName","taskGroup")
            .startNow()
            .withSchedule(CronScheduleBuilder.cronSchedule(taskCron))
            .build();
    return trigger;
}

啟動應用報錯:

自動注入 Quartz 的 Scheduler 對象異常了,因為有了上次 RestTemplate 失效的經(jīng)驗,所以一猜就是這個注解的問題,去掉后果然正常了。

話說回來,到底 Quartz 注入的類到底能不能動態(tài)根據(jù)配置變動呢?如果真的要支持定時任務周期和分組名稱動態(tài)變動,應該怎么改造呢?

啟示錄

今天看到兩個關于編程的觀點。

言論一:《現(xiàn)代編程工作的實質(zhì)》

我真正擔心的是,今天的很多編程沒有任何樂趣,它只是集合別人的軟件,把組件拼起來并啟動,不需要太多的創(chuàng)造力。 我擔心編程會變得太無聊,因為你沒有機會做任何新鮮事。你的興奮來自于看到機器產(chǎn)生出來的有趣結果,而不是來自創(chuàng)造新事物的過程。現(xiàn)在的樂趣變成,當你完成無聊的工作后,會突然得到一個很棒的結果,但在以前,工作本身并不乏味。

另一句來自 Redis 的作者:

大多數(shù)編程不再是藝術,也不再是高級工程。大多數(shù)程序都是微不足道的:編碼人員只需要理解某些特定的接口,然后編寫一些邏輯和膠水代碼。 -- Antirez,Redis 的作者

工具人的悲哀!我還以為只有我有類似的感覺呢,SpringBoot 這么強大,開源工具這么豐富,任意一個第三方 jar 的引入,背后都是一個大黑盒,不經(jīng)過透徹的測試,根本不知道有什么問題。

以上就是@RefreshScope在Quartz 觸發(fā)器類導致異常問題解決分析的詳細內(nèi)容,更多關于@RefreshScope Quartz異常的資料請關注腳本之家其它相關文章!

相關文章

  • Java?Spring讀取和存儲詳細操作

    Java?Spring讀取和存儲詳細操作

    這篇文章主要介紹了Spring讀取和存儲詳細操作,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • Java中重寫和重載的區(qū)別及說明

    Java中重寫和重載的區(qū)別及說明

    Java語言中的重載和重寫是實現(xiàn)多態(tài)的兩種方式,但他們的實現(xiàn)方式和規(guī)則有所不同,重載發(fā)生在一個類中,同名的方法如果有不同的參數(shù)列表,則視為重載,重寫則發(fā)生在子類和父類之間,要求子類重寫方法和父類被重寫方法有相同的返回類型
    2024-10-10
  • springboot整合mybatis-plus逆向工程的實現(xiàn)

    springboot整合mybatis-plus逆向工程的實現(xiàn)

    這篇文章主要介紹了springboot整合mybatis-plus逆向工程的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Java中常用的設計模式之策略模式詳解

    Java中常用的設計模式之策略模式詳解

    這篇文章主要為大家詳細介紹了Java中常用的設計模式之策略模式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • java使用Dijkstra算法實現(xiàn)單源最短路徑

    java使用Dijkstra算法實現(xiàn)單源最短路徑

    這篇文章主要為大家詳細介紹了java使用Dijkstra算法實現(xiàn)單源最短路徑,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • mybatis如何使用Map接收返回值

    mybatis如何使用Map接收返回值

    這篇文章主要介紹了mybatis如何使用Map接收返回值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java中float類型的范圍及其與十六進制的轉(zhuǎn)換例子

    Java中float類型的范圍及其與十六進制的轉(zhuǎn)換例子

    這篇文章主要介紹了Java中float類型的范圍及其與十六進制的轉(zhuǎn)換例子,是Java入門學習中的基礎知識,需要的朋友可以參考下
    2015-10-10
  • Java之IO流面試題案例講解

    Java之IO流面試題案例講解

    這篇文章主要介紹了Java之IO流案例講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • Java并發(fā)中的ABA問題學習與解決方案

    Java并發(fā)中的ABA問題學習與解決方案

    這篇文章主要介紹了Java并發(fā)中的ABA問題學習與解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • PowerJob的IdGenerateService工作流程源碼解讀

    PowerJob的IdGenerateService工作流程源碼解讀

    這篇文章主要為大家介紹了PowerJob的IdGenerateService工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01

最新評論