springboot定時任務

springboot裏作一個定時任務特別的簡單spring

1:在啓動文件裏開啓任務 @EnableSchedulingspringboot

2:在方法上 設置定時時間@Scheduled(cron = "0/10 * * * * ?")併發

3:這樣就會每十秒執行一次異步

默認的是單線程,就是一個任務沒有執行完畢,下一個任務不會開始。線程

舉個栗子:項目啓動後等待10秒,定時任務開始執行,而後第二個10秒,而後第三個10秒。。。blog

若是第一個10秒 任務裏的邏輯沒有執行完畢,那麼第二次進任務就是下一個定時任務時間,如:第一個定時任務執行15秒,那麼定時任務

第二次進任務是在第30秒方法

 

4:也能夠加上異步 @Asyncim

這樣的定時任務,每到一個執行間隔就會執行任務,不會去管上一次任務是否已經執行完畢d3

特別注意:根據業務邏輯須要 去判斷要不要添加異步。在咱們項目中,定時去更新庫存信息,由於併發了 致使庫存屢次增減,

即便庫存表有樂觀鎖,也沒能避免這個錯誤。

相關文章
相關標籤/搜索