999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Web應用與Quartz的整合研究

2018-09-10 18:51:53劉光明朱肖穎
企業(yè)科技與發(fā)展 2018年3期

劉光明 朱肖穎

【摘 要】任務調(diào)度的功能多數(shù)應用于郵件的定時發(fā)送、數(shù)據(jù)的定時備份、自動執(zhí)行業(yè)務處理等類型的Web應用。任務調(diào)度是基于準確時間點的調(diào)度,同時也可以根據(jù)用戶自己設定的時間間隔或設定的調(diào)度次數(shù)自動執(zhí)行任務。文章以介紹定時任務調(diào)度框架Quartz的特點、使用優(yōu)勢及其基本功能為主,分析Quartz與Spring框架進行整合開發(fā),進行Web的定時調(diào)度功能開發(fā)的機制。

【關鍵詞】任務定時調(diào)度;Spring;Quartz;Timer;Web

【中圖分類號】TP311 【文獻標識碼】A 【文章編號】1674-0688(2018)03-0114-03

0 引言

隨著信息技術的快速發(fā)展,計算機軟件在各行各業(yè)中都扮演者相當重要的角色,發(fā)揮著促進企業(yè)快速發(fā)展的重要作用。在各行各業(yè)的管理系統(tǒng)中,都可能會存在著系統(tǒng)數(shù)據(jù)定時備份、定時處理相對的業(yè)務功能、定時發(fā)送郵件或是在設定的特定時間間隔內(nèi)自動執(zhí)行某個系統(tǒng)特定功能的調(diào)度任務的需求。使用定時任務調(diào)度框架Quartz就能夠幫助企業(yè)快速高效地完成這種常規(guī)的或復雜的調(diào)度作業(yè)的需求。

1 Quartz框架介紹

Quartz框架是一個具有強大的、能夠靈活配置調(diào)度規(guī)則或是調(diào)度時間的、免費開源的任務調(diào)度框架。使用Quartz框架可以為企業(yè)信息管理系統(tǒng)的定時調(diào)度任務進行簡單快捷靈活的配置調(diào)度機制,實現(xiàn)企業(yè)常規(guī)和非常規(guī)的復雜調(diào)度功能。開發(fā)人員可以根據(jù)業(yè)務的具體需求設置調(diào)度的時間點或時間間隔來進行具體的任務調(diào)度。Quartz框架能夠通過與Spring很好地集成來提供強大的、可靈活配置的調(diào)度功能并應用到J2EE Web應用的開發(fā)中,它在企業(yè)應用調(diào)度開發(fā)中占據(jù)極其重要的地位,是目前使用最廣泛的任務調(diào)度框架。

任務調(diào)度器(Scheduler)、觸發(fā)器(Trigger)和任務(Job)是任務調(diào)度框架Quartz的最重要的三大核心組件。其中調(diào)度任務的核心管理者是任務調(diào)度器(Scheduler),調(diào)度任務的操作者是觸發(fā)器(Trigger),調(diào)度任務(Job)是系統(tǒng)中相應的功能模塊。開發(fā)人員可以根據(jù)具體的業(yè)務調(diào)度需求配置任務和觸發(fā)器的監(jiān)聽規(guī)則,進行任務調(diào)度。其關系如圖1所示。

調(diào)度器(Scheduler)是Quartz框架最主要的核心模塊,它對Quartz的應用運行的環(huán)境起到管理的作用,Quartz框架主要的API也是調(diào)度器(Scheduler)。對于Quartz開發(fā)人員來說,Scheduler是Quartz調(diào)度框架與開發(fā)人員發(fā)生交互的中間橋梁,大多數(shù)的交互過程都是以Scheduler為基礎進行的。Scheduler是通過與框架內(nèi)的各個JobDetail和Trigger結合來進行具體的調(diào)度工作的,而不是獨立地完成具體的調(diào)度任務。JobDetial和Trigger只需要在Scheduler上裝配注冊好,調(diào)度作業(yè)就會伴隨著容器的啟動自動執(zhí)行。一個完整的Quartz調(diào)度任務,必須包含觸發(fā)器(Trigger)、調(diào)度器(Scheduler)和任務(Job)這3個最為重要的核心要素。觸發(fā)器就是一個任務的驅(qū)動器,負責對調(diào)度作業(yè)進行定時驅(qū)動,否則作業(yè)將無法正常執(zhí)行。一個調(diào)度任務可以與多個觸發(fā)器相對應,但是一個觸發(fā)器只能對應一個任務對一個任務進行驅(qū)動。Quartz作為一個優(yōu)秀的開源調(diào)度框架能夠與Spring集成實現(xiàn)強大的調(diào)度作業(yè),而且對運行環(huán)境也沒有依賴,Quartz還提供了強大的集群及分布式能力,其強大的調(diào)度機制支持多樣化的調(diào)度方法。

2 JDK Timer介紹

Timer是JDK自帶的任務調(diào)度工具類。結構簡單易用,功能也比較有限,而且容易出現(xiàn)誤差。Timer和Timer Task是使用Timer實現(xiàn)任務調(diào)度的2個核心類。開發(fā)人員使用Timer來實現(xiàn)任務調(diào)度的功能時,必須創(chuàng)建一個繼承TimerTask的子類,而且重寫run()方法,然后Timer再采用單線程的方式去執(zhí)行調(diào)度任務。

Timer最大的優(yōu)點是簡單易用,但是Timer采用的是單線程的執(zhí)行方式,同一時間只能有一個任務在執(zhí)行,同一時間沒有辦法執(zhí)行多個任務。當遇到更多更復雜的調(diào)度需求時,Timer難以滿足需求的變化。

3 Scheduled Executor介紹

Scheduled Executor是在Timer的基礎上擴展的一個任務調(diào)度框架。Scheduled Executor中的每一個調(diào)度任務都會由線程池中對應的一個線程去執(zhí)行任務。Scheduled Executor與Timer比較來說,Scheduled Executor中執(zhí)行的任務是可以并非執(zhí)行的,且任務的執(zhí)行之間是沒有影響的。Scheduled Executor是一個比Timer更為通用的任務調(diào)度的通用品,它允許同時存在多個服務線程,且只需要實現(xiàn)Runnable接口,不需要繼承Time Task。但是Scheduled Executor跟Timer一樣都不能勝任更加復雜的調(diào)度需求,只能供基于開始時間與重復間隔的任務調(diào)度。

Timer、Scheduled Executor,跟Qu-

artz比有一定的差距。相對于其他2個調(diào)度工具而言,Quartz具有更加強大且靈活的配置規(guī)則,能夠快捷地配置實現(xiàn)復雜的調(diào)度需求。如果你只需要特別簡單的任務調(diào)度,那么Timer就可以滿足需求。如果你的調(diào)度需求比較復雜,使用Quartz要比Timer、Scheduled Executor簡單。

4 Quartz整合Web的實現(xiàn)過程

整個整合過程主要可分為以下3步:第一步配置web.xml文件,web.xml文件在整個web應用中一個載體的角色,用來調(diào)度配置應用信息;第二步配置quartz.properties,主要完成一些調(diào)度參數(shù)的設置;第三步編寫調(diào)度任務的實現(xiàn)類,在實現(xiàn)類中實現(xiàn)業(yè)務的調(diào)度邏輯。以下是詳細的整合過程。

4.1 web.xml中配置Spring

配置Spring、Struts2用來初始化配置信息。核心配置信息如圖2所示。

4.2 配置quartz.properties

開發(fā)人員根據(jù)具體業(yè)務的調(diào)度需求在quartz.properties這個配置文件中配置自己業(yè)務需求的一些特定的參數(shù),如相應的時間間隔或是時間點這類的調(diào)度信息。主要配置信息如圖3所示。

Spring應用啟動后就會按照配置好的信息啟動調(diào)度任務,當然也可以單獨整合集成Quartz,并不一定要使用Spring。

4.3 編寫目標類

目標類是整個調(diào)度任務中最關鍵的類,在這類里面開發(fā)人員實現(xiàn)自己的調(diào)度邏輯,這個類必須繼承Quartz Job Bean,在Work方法里面實現(xiàn)調(diào)度邏輯。目標類的核心代碼如圖4所示。

5 結語

本文介紹了JDK Timer、Scheduled Executor、Qua-

rtz框架的功能、特點及這3個工具的優(yōu)缺點,探討了如何將Quartz與Spring結合應用到Web開發(fā)中,建立了一個可以滿足企業(yè)常規(guī)調(diào)度需求的簡單可用的調(diào)度系統(tǒng),具有良好的擴展性與靈活性。

參 考 文 獻

[1]胡利強,周冬初,王偉.Quartz調(diào)度器與Web程序整合的研究和應用[J].計算機與現(xiàn)代化,2010(8):98-99,104.

[2]范云飛.定時任務調(diào)度服務系統(tǒng)設計與實現(xiàn)[D].北京:北京郵電大學,2008.

[3]張鵬,白朝旭,王錕,等.基于Quartz的集團化調(diào)度任務分布部署研究[J].現(xiàn)代電子技術,2014,37(2):80-83.

[4]劉志鵬,衛(wèi)晨.基于Quartz與Spring的動態(tài)任務調(diào)度系統(tǒng)的設計與實現(xiàn)[J].計算機光盤軟件與應用,2014,17(13):263-264.

[5]趙曉麗.基于Spring的定時器的應用實現(xiàn)[J].太原師范學院學報:自然科學版,2015,14(4):48-53.

[6]王波.ERP系統(tǒng)中郵件提醒定時器框架的設計與應用[J].現(xiàn)代電子技術,2012,35(6):25-27,32.

[7]丁振凡,李馨梅.Spring的任務定時調(diào)度方法的研究比較[J].智能計算機與應用,2012,2(4):55-56,60.

[8]謝蒙,王晶,王純.綜合數(shù)據(jù)業(yè)務平臺定時任務調(diào)度組件的設計與實現(xiàn)[J].電信技術,2012(8):79-81.

[9]王秀,孫忠林,姜莉.任務定時調(diào)度在企業(yè)級開發(fā)中的研究[J].電子科技,2015,28(10):100-102,107.

[10]許艷丹.基于Quartz.NET框架的任務調(diào)度平臺研究與設計[J].軟件導刊,2016,15(2):82-84.

[責任編輯:鐘聲賢]

主站蜘蛛池模板: 毛片免费网址| 日韩精品专区免费无码aⅴ| 国产精品手机在线播放| 国产成人a在线观看视频| 老司机久久99久久精品播放| 3D动漫精品啪啪一区二区下载| 国产成人久视频免费| 免费国产高清精品一区在线| 99尹人香蕉国产免费天天拍| 丁香婷婷激情网| 欧美第九页| 日本高清有码人妻| 熟女视频91| 日日拍夜夜操| 无码精油按摩潮喷在线播放| 精品久久香蕉国产线看观看gif| 亚洲 欧美 偷自乱 图片| 中文字幕有乳无码| 精品人妻AV区| 天堂久久久久久中文字幕| 亚洲婷婷在线视频| 欧美全免费aaaaaa特黄在线| 国产综合色在线视频播放线视| 国产高清免费午夜在线视频| AV老司机AV天堂| 伊人久久综在合线亚洲2019| 99久久国产自偷自偷免费一区| 一级毛片在线免费看| 欧美成人精品一级在线观看| 国产人在线成免费视频| 国产精品理论片| 色婷婷国产精品视频| 久久黄色免费电影| 在线日韩一区二区| 色九九视频| 中文字幕亚洲电影| 一本色道久久88| 亚洲一区二区三区国产精品| 国产v精品成人免费视频71pao| 黄色在线不卡| 久久免费视频6| 国产综合精品日本亚洲777| 自拍亚洲欧美精品| 不卡视频国产| 亚州AV秘 一区二区三区| 国产一级精品毛片基地| 中文字幕永久视频| 综合人妻久久一区二区精品| 亚洲综合狠狠| 婷婷成人综合| 国产成人91精品免费网址在线| 蝌蚪国产精品视频第一页| 新SSS无码手机在线观看| 中国特黄美女一级视频| 国产福利免费视频| 亚洲bt欧美bt精品| 欧美三级自拍| 亚洲AV无码久久精品色欲| 天天摸天天操免费播放小视频| 91久久国产综合精品| 男人天堂伊人网| 欲色天天综合网| 国产色图在线观看| 小说 亚洲 无码 精品| 黄色污网站在线观看| 国产亚洲一区二区三区在线| 韩日午夜在线资源一区二区| 国产精品妖精视频| 久久精品嫩草研究院| 99久久精品免费看国产免费软件 | 手机在线国产精品| 国产乱子伦视频在线播放| 国产在线观看一区二区三区| 亚洲高清在线天堂精品| 一本大道香蕉久中文在线播放| 欧美在线免费| 伊人网址在线| 激情无码字幕综合| 国产毛片高清一级国语| 亚洲AV无码久久天堂| 国产aaaaa一级毛片| 色综合久久88|