spring boot使用定時器框架Quartz案例


 

 

一、你需要在項目中加入quartz-all-2.1.7.jar的jar包(我這里使用spring boot環境)

二、然后需要新建一個類去注冊定時任務和銷毀定時任務,這個類需要實現ServletContextListener的接口中的contextInitialized和contextDestroyed方法

三、接着就是去定義你自己的定時任務了,也就是再去新建一個類去實現Job的接口中的execute()方法,這個方法就是你在定時任務執行的時候要執行的內容

1, SimpleTrigger 指定從某一個時間開始,以一定的時間間隔(單位是毫秒)執行的任務。也就是他是以毫秒來計時。

2, CalendarIntervalTrigger
類似於SimpleTrigger,指定從某一個時間開始,以一定的時間間隔執行的任務。 但是不同的是SimpleTrigger指定的時間間隔為毫秒,沒辦法指定每隔一個月執行一次(每月的時間間隔不是固定值),而CalendarIntervalTrigger支持的間隔單位有秒,分鍾,小時,天,月,年,星期。相較於SimpleTrigger有兩個優勢:1、更方便,比如每隔1小時執行,你不用自己去計算1小時等於多少毫秒。 2、支持不是固定長度的間隔,比如間隔為月和年。但劣勢是精度只能到秒。
它適合的任務類似於:9:00 開始執行,並且以后每周 9:00 執行一次
3.DailyTimeIntervalTrigger 
指定每天的某個時間段內,以一定的時間間隔執行任務。並且它可以支持指定星期。 
它適合的任務類似於:指定每天9:00 至 18:00 ,每隔70秒執行一次,並且只要周一至周五執行。

 

注意一:這里使用監聽器用@WebListener注解則可證明此類為Listener,無需另外配置

注意二:使用注解申明Listener時需要啟動類上面添加@ServletComponentScan(basePackages = "包名+類名")

代碼如下:

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com