@Scheduled(cron = "0 * * * * *")
public void doSomething() { ... }
只是想確保如果前一個沒有及時完成,這不會啟動另一個運行?
如果沒有,如何做到這一點?
我用 Thread.sleep() 進行了測驗,它看起來像是在等待但不確定。我只是想確認一下。
如果這意味著它一次只運行一個,它會等待然后在前一個完成后立即運行嗎?或者它是否跳過運行并等到下一個沒有運行的預定時間?
uj5u.com熱心網友回復:
當沒有配置任務調度器時,Spring 用于Executors.newSingleThreadScheduledExecutor()執行任務。
配置的任務將在單個執行緒中執行。使用 a來安排任務。cron@ScheduledScheduledThreadPoolExecutor
ScheduledThreadPoolExecutorDelayQueue
因此,默認行為是任務將以串行方式運行。在任務結束之前它不會跳過運行。并且下一個預定時間是不確定的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/491596.html
上一篇:org.springframework.dao.IncorrectResultSizeDataAccessExceptionMongoLimit不起作用?
下一篇:如何將所有列舉插入資料庫?
