中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

對quartz定時任務的初步認識

發布時間:2020-07-01 06:25:54 來源:網絡 閱讀:344 作者:26度出太陽 欄目:網絡安全

今天就談一談我前兩天自學的quartz定時任務吧,我對quartz定時任務的理解,就是可以設定一個時間,然后呢,在這個時間到的時候,去執行業務邏輯,這是我的簡單理解,接下來看代碼是如何實現的,首先有兩種實現的方式,一種是通過代碼實現,另一種是通過配置文件實現,我建議使用配置文件配置的方式實現定時任務,畢竟以后有什么變化,只需要改配置文件就可以了,不需要改代碼,重新編譯,重新部署。

      先來講一下第一種純代碼實現的定時任務。

第一步需要先下載所必須的jar包,我使用的jar包是:

對quartz定時任務的初步認識

第二步,寫一個類實現Job接口,里面只有一個方法execute,在這個方法里寫上自己的業務邏輯即可,時間到的時候就會執行這里的業務邏輯。

對quartz定時任務的初步認識

第三步,寫一個定時任務管理類QuartzManager.java,在這個類里有增加定時任務的方法,由于觸發器有兩種,第一種的simpleTrigger簡單觸發器,第二種是cronTrigger,可以定義很復雜的時間,所以有兩種增加定時任務的方法。

第一種方法使用simpleTrigger簡單觸發器

對quartz定時任務的初步認識

 上面代碼的注釋寫的很清楚,著重介紹一下jobDataMap,這個map是用于傳遞參數的,可以將這里設的值,在任務里獲取到,以便不時之需。

第二種方法是使用cronTrigger觸發器

對quartz定時任務的初步認識

這個方法和第一種方法的區別就是觸發器的不同,導致設置時間的方式不同而已,但是為了應付現實中比較復雜的場景,建議使用第二種觸發器。

第四步,寫一個main方法用于測試

對quartz定時任務的初步認識

著重介紹一下第二種觸發器的時間設置規則,上面的0/5 * * ? * * *的意思是每隔5秒執行一次任務,接下來會列出一些常用的時間

對quartz定時任務的初步認識

對quartz定時任務的初步認識

對quartz定時任務的初步認識

    接下來講一下使用配置文件實現的定時任務。

第一步需要先下載所必須的jar包,我使用的jar包是:

對quartz定時任務的初步認識

第二步,寫一個類實現Job接口,里面只有一個方法execute,在這個方法里寫上自己的業務邏輯即可,時間到的時候就會執行這里的業務邏輯。

對quartz定時任務的初步認識

第三步,是需要log4j的配置文件,quartz的配置文件和quartz_jobs.xml

對quartz定時任務的初步認識

對quartz定時任務的初步認識

 

 對quartz定時任務的初步認識

接下來是quartz_jobs.xml,這個文件的位置有些要求,看目錄結構

對quartz定時任務的初步認識

這個文件里面的具體內容就是配置job,配置trigger

對quartz定時任務的初步認識

對quartz定時任務的初步認識

 

 對quartz定時任務的初步認識

在這個配置文件里,我定義了兩個任務,一個任務使用的simpleTrigger,另一個使用的是cronTrigger

第四步,寫一個測試類,測試定時任務,在這個類里只需要從調度工廠里獲取調度,然后開啟調度即可。

對quartz定時任務的初步認識

上述兩種實現定時任務的方式就實現了,不過本人強烈建議使用配置的方式實現定時任務,好處就不再多說了。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

翁牛特旗| 眉山市| 八宿县| 深圳市| 诏安县| 疏勒县| 鄯善县| 麟游县| 林甸县| 贺州市| 呼玛县| 和田县| 巴林左旗| 尖扎县| 安龙县| 平江县| 卓资县| 隆尧县| 噶尔县| 龙岩市| 盐津县| 安泽县| 涟源市| 永济市| 朝阳市| 荥经县| 秦安县| 敦化市| 新化县| 嵩明县| 桑日县| 澜沧| 迁西县| 新建县| 都昌县| 龙南县| 珠海市| 安宁市| 民乐县| 岳普湖县| 黄浦区|