您好,登錄后才能下訂單哦!
今天就談一談我前兩天自學的quartz定時任務吧,我對quartz定時任務的理解,就是可以設定一個時間,然后呢,在這個時間到的時候,去執行業務邏輯,這是我的簡單理解,接下來看代碼是如何實現的,首先有兩種實現的方式,一種是通過代碼實現,另一種是通過配置文件實現,我建議使用配置文件配置的方式實現定時任務,畢竟以后有什么變化,只需要改配置文件就可以了,不需要改代碼,重新編譯,重新部署。
先來講一下第一種純代碼實現的定時任務。
第一步需要先下載所必須的jar包,我使用的jar包是:
第二步,寫一個類實現Job接口,里面只有一個方法execute,在這個方法里寫上自己的業務邏輯即可,時間到的時候就會執行這里的業務邏輯。
第三步,寫一個定時任務管理類QuartzManager.java,在這個類里有增加定時任務的方法,由于觸發器有兩種,第一種的simpleTrigger簡單觸發器,第二種是cronTrigger,可以定義很復雜的時間,所以有兩種增加定時任務的方法。
第一種方法使用simpleTrigger簡單觸發器
上面代碼的注釋寫的很清楚,著重介紹一下jobDataMap,這個map是用于傳遞參數的,可以將這里設的值,在任務里獲取到,以便不時之需。
第二種方法是使用cronTrigger觸發器
這個方法和第一種方法的區別就是觸發器的不同,導致設置時間的方式不同而已,但是為了應付現實中比較復雜的場景,建議使用第二種觸發器。
第四步,寫一個main方法用于測試
著重介紹一下第二種觸發器的時間設置規則,上面的0/5 * * ? * * *的意思是每隔5秒執行一次任務,接下來會列出一些常用的時間
接下來講一下使用配置文件實現的定時任務。
第一步需要先下載所必須的jar包,我使用的jar包是:
第二步,寫一個類實現Job接口,里面只有一個方法execute,在這個方法里寫上自己的業務邏輯即可,時間到的時候就會執行這里的業務邏輯。
第三步,是需要log4j的配置文件,quartz的配置文件和quartz_jobs.xml
接下來是quartz_jobs.xml,這個文件的位置有些要求,看目錄結構
這個文件里面的具體內容就是配置job,配置trigger
在這個配置文件里,我定義了兩個任務,一個任務使用的simpleTrigger,另一個使用的是cronTrigger
第四步,寫一個測試類,測試定時任務,在這個類里只需要從調度工廠里獲取調度,然后開啟調度即可。
上述兩種實現定時任務的方式就實現了,不過本人強烈建議使用配置的方式實現定時任務,好處就不再多說了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。