2015-11-04 173 views
0

我正在使用類 https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/scheduling/TaskScheduler.html 來管理某些任務的定期執行。 我有一組獨立的任務必須定期執行(同一個數據庫上運行) 什麼我實際上做的是爲每個任務每個獨立任務的唯一實例TaskScheduler vs實例

TaskScheduler scheduler = new ThreadPoolTaskScheduler(); 
    ((ThreadPoolTaskScheduler)scheduler).afterPropertiesSet(); 
scheduler.schedule(new task1(), new CronTrigger("* * */2 * * *")); 
..... 
TaskScheduler scheduler2 = new ThreadPoolTaskScheduler(); 
    ((ThreadPoolTaskScheduler)scheduler2).afterPropertiesSet(); 
scheduler2.schedule(new task2(), new CronTrigger("* * */10 * * *"));  

我想,如果只是爲了更好地理解創建一個新的TaskScheduler是創建一個TaskScheduler的獨特實例,並用它來安排所有的任務,或者沒有太大的優勢。 在這種情況下,任務是不同的,這個池的興趣是什麼。

回答

0

總的來說它是一樣的。但是你必須有一些考慮。

如果您有不同類型的任務,最好將它們分組到不同的調度程序中。也許你可以停止某種類型的任務,讓他們在不同的調度程序中讓你這樣做,而不會影響其他任務。

如果您有很多任務,那麼最好讓它們在不同的調度程序中以這種方式調度程序可以以更簡單的方式管理它們。

相關問題