簡體   English   中英

@scheduled注釋具有可變fixeddelay

[英]@scheduled annotation with variable fixeddelay

我有一個計划每20分鍾運行一次的方法。 我只是在Spring boot中使用@Scheduled批注,但是我需要一個調度程序,它需要在運行時延遲時間。 例如,如果我希望能夠在運行時更改方法執行的延遲時間/頻率而不停止應用程序,即更改數據庫中的頻率,則代碼應對此進行調整。

@Scheduled(initialDelay=15*60*1000, fixedRate=20*60*1000)
public void MyMethod() {
    // Code to repeat after every 20 minutes
    }
}

代碼中的固定速率應可變,並在運行時使用。 有可能實現嗎?

您可以在更改屬性文件中的固定速率后使用spring spring上下文或使用spring cloud config來刷新spring上下文,但這會引發一些問題refresh()應該銷毀當前生活在上下文中的所有bean(單例等)並重新創建它們,因此任何可能發生的引導都會再次發生。

這里是參考: 通過ConfigurableApplicationContext refresh()重新加載Spring應用程序上下文是否被認為是不正確的做法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM