您好,登錄后才能下訂單哦!
如何配置Spring中的定時任務?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
依賴以下兩個包:
<!-- 定時器依賴 開始 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.0.2.RELEASE</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency> <!-- 定時器依賴 結束 -->
原本我想著 新的方法可能不需要呢,于是試試注釋掉會怎么樣,于是就出現了這樣的情況:
顯然我想錯了,正式開始:
第一步,在maven的pom文件中添加上文列出的兩個包;
第二步,在spring配置管理xml頭部中,添加命名空間(大部分文獻都是這樣寫的,但還沒有找到正式的說法,如果有我會再修改這個名詞的,現在暫且用著)
<beans xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation="http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.1.xsd ">
第三步,在spring配置文件中配置定時任務相關內容
<task:annotation-driven scheduler="kevinScheduler"/> <task:scheduler id="kevinScheduler" pool-size="5"/>
第四步,完成業務邏輯實現類:
import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.concurrent.TimeUnit; import org.joda.time.DateTime; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component public class ATask { @Scheduled(cron="0/10 * * * * ? ") //每10秒執行一次 public void aTask(){ try { TimeUnit.SECONDS.sleep(20); } catch (InterruptedException e) { e.printStackTrace(); } DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(sdf.format(DateTime.now().toDate())+"*********A任務每10秒執行一次進入測試"); } }
這樣的方式比配置的更為簡單,但是我認為配置的方式會更加靈活,當然實現的方式方法很多。我們只討論最簡單的實現,顯然這個是我看到的最簡單的實現方法。
開啟服務,我們來看看效果:
關于如何配置Spring中的定時任務問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。