2013-05-02 51 views
2

我有一個用Spring創建的儀表板,必須控制某些任務執行。基本思想是有一個線程將這些任務定期發送到遠程跟蹤器。我怎樣才能實例這個線程?我一直在讀一點,有些人說這不是一個好主意,使用線程。這會對Spring生命週期造成問題嗎?有另一種方法來定期調用方法嗎?在Spring中實例化新線程以定期執行任務

回答

2

當使用Spring,你可以嘗試Spring自己的任務調度。一個很好的教程可以找到 here

我已經使用過這個,它工作得很好。

0

您可以使用@Scheduled註釋或者您可以創建自己的線程並使其休眠並再次定期調用。

2

如果您需要一個功能強大的任務調度程序,它可以與Spring完美協作,請使用quartz調度程序。您可以配置要用於調度程序的線程數量等等。 這裏沒有線程控制令人頭疼的石英調度程序很好地管理它。

它可以在春天被配置爲每分鐘從上午12點多的工作日程複雜像

觸發到凌晨4點在每月1日。

http://quartz-scheduler.org/瞭解更多信息。

0

在我的情況,我想運行一個代碼每月一次

比方說,我想執行remove功能是EmptyScopesRemoverImpl

所以在Spring XML中添加此

<task:scheduled-tasks> 
    <task:scheduled ref="EmptyScopesRemover" method="remove" cron="0 0 0 1 * *"/> 
</task:scheduled-tasks> 

約更多信息的值和它需要檢查的內容https://stackoverflow.com/a/32521238/4251431

現在,該值意味着運行功能the midnight on the first day of every month

注意EmptyScopesRemover只是一個bean是指類