0
我使用@Scheduled註釋每兩分鐘運行一次代碼。但是,我們的工作往往會運行更長的時間。據我瞭解,@Scheduled註釋排隊新作業,並在第一份工作完成後立即運行它們。我不希望發生這種情況。我希望那裏只有一個正在運行的作業實例,沒有排隊的實例。我怎樣才能做到這一點?如何停止Spring @ Scheduled排隊工作
@Scheduled(cron = "0 */2 * * * ?")
public void twoMinMethod() {
// code here
}
嗯,這取決於。如果你有一個帶有多個線程的'TaskExecutor',並且有空閒線程,那麼你有多個併發執行。直到池用完爲止,根據所選擇的策略,作業將排隊,丟棄或您將收到異常。所以實際上取決於。如果你想要一個單一的實例,你需要使用一個像石英這樣的調度器來爲它提供支持。 –