亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Quartz與Spring的動態(tài)任務調度系統(tǒng)的設計與實現(xiàn)

        2014-04-29 00:00:00劉志鵬衛(wèi)晨
        計算機光盤軟件與應用 2014年13期

        摘 要:本文介紹了Quartz框架的功能和特點,將Quartz框架和Spring框架進行整合,設計并實現(xiàn)了一個動態(tài)任務調度系統(tǒng),該系統(tǒng)簡化了Java EE Web系統(tǒng)中任務調度功能的開發(fā),使得任務調度變的靈活和簡單。

        關鍵詞:Quartz;Spring;Java EE

        中圖分類號:TP311.52

        隨著計算機軟件的快速發(fā)展和普及,企業(yè)開始越來越多地利用軟件來提高生產和管理效率。企業(yè)信息化建設的程度對于提升企業(yè)的競爭力有著重大的影響。隨著軟件技術的不斷創(chuàng)新和發(fā)展,針對企業(yè)信息系統(tǒng)各方面需求也產生了許多新技術,比如定時任務。

        在我們的管理信息系統(tǒng)可能經常需要完成定時任務。比如:每天晚上,或許僅僅每個月的最后一天備份數(shù)據(jù)或者向指定地址發(fā)送郵件等,Quartz框架就可以幫助企業(yè)實現(xiàn)這種功能。

        1 Quartz框架介紹

        Quartz是OpenSymphony開源組織在的一個開源項目,它能夠創(chuàng)建調度來執(zhí)行一個作業(yè),可以與Java項目進行集成。

        Quartz框架的核心是調度器。調度器負責管理Quartz應用運行時環(huán)境。調度器不是靠自己做所有的工作,而是依賴框架內一些非常重要的部件。為確??缮炜s性,Quartz采用了基于多線程的架構。啟動時,框架初始化一套worker線程,這套線程被調度器用來執(zhí)行預定的作業(yè)。Quartz依賴一套松耦合的線程池管理部件來管理線程環(huán)境。Quartz對任務調度的領域問題進行了高度的抽象,提出了調度器(Scheduler)、任務(Job)和觸發(fā)器(Trigger)這3個核心的概念。

        2 Quartz框架核心

        核心接口。Job:是一個任務接口,包含一個void execute(JobExecutionContext context)方法,該方法用來定義任務,JobExecutionContext類提供了調度上下文包含的各種信息。Job運行時的信息保存在JobDataMap實例中。

        JobDetail:Quartz在每次執(zhí)行Job時,都重新創(chuàng)建一個Job實例,該實例必須是Job的實現(xiàn)類,是通過newInstance()的反射機制進行實例化。因此需要通過JobDetail類來描述Job的實現(xiàn)類及其它相關的靜態(tài)信息,如Job名字、描述、關聯(lián)監(jiān)聽器等信息。

        Trigger:是描述觸發(fā)Job執(zhí)行的時間觸發(fā)規(guī)則的類。主要有SimpleTrigger和CronTrigger這兩個子類。SimpleTrigger適合僅需觸發(fā)一次或者固定時間間隔周期執(zhí)行的任務,而CronTrigger則可以通過Cron表達式定義出任意規(guī)則的調度方案。

        Scheduler:是Trigger和JobDetail注冊的獨立運行容器,兩者在Scheduler中擁有各自的組及名稱,組及名稱是Scheduler查找定位容器中某一對象的依據(jù),Trigger和Trigger和JobDetail可以注冊到Scheduler中的組及名稱必須唯一。Scheduler定義了多個接口方法,允許外部通過組及名稱訪問和控制容器中Trigger和JobDetail。

        3 動態(tài)調度系統(tǒng)設計

        動態(tài)調度系統(tǒng)是將任務的開發(fā)和任務的調度分離。任務由開發(fā)人員開發(fā),開發(fā)人員不需要考慮任務的調度問題,只需要考慮任務做什么即可;任務調度由用戶操作,用戶可以根據(jù)自身情況進行調度,包括調度設置、開始、暫停。系統(tǒng)設計時,為了使任務開發(fā)簡單,開發(fā)人員在進行任務開發(fā)時,只需要實現(xiàn)XyJob接口,該接口繼承自Job接口,是用來定義任務的,包含2個方法execute(JobExecutionContext arg0)是任務執(zhí)行的方法,getName()獲取當前任務的名稱。當Spring容器啟動后,系統(tǒng)自動檢測所有實現(xiàn)XyJob接口的類,并將其初始化為任務,在初始化的過程中,系統(tǒng)會讀取用戶已經設置的調度信息。用戶可以通過頁面查看系統(tǒng)中的所有任務,并且可以進行任務調度設置、開啟、暫停操作,如圖1所示。

        圖1

        4 動態(tài)調度系統(tǒng)實現(xiàn)

        4.1 系統(tǒng)配置

        要在Java Web項目中使用Quartz,首先需要引入相關jar包。其次,需要在Spring的applicationContext.xml文件中添加以下配置,該配置可以使得spring為Quartz創(chuàng)建Scheduler容器。

        class=\"org.springframework.scheduling.quartz.SchedulerFactoryBean\">

        4.2 系統(tǒng)實現(xiàn)

        Spring將所有已經實現(xiàn)XyJob接口的類進行實例化,并將實例化后的對象注入到一個List集合中。當Spring容器初始化成功后,開始將所有的XyJob對象注冊到Scheduler容器中,注冊過程中會讀取用戶設置的Crom表達式,并將其應用到任務中。

        圖2 初始化任務

        當需要查詢所有任務時,通過任務的getName()方法獲得任務名稱,再通過任務名稱去Scheduler容器中查詢該任務的當前狀態(tài)。

        5 結束語

        本文在分析了Quartz框架的功能和特點,通過對Quartz的研究,將Spring與Quartz框架整合,建立了一個動態(tài)任務調度系統(tǒng)。該系統(tǒng)的設計使得任務的開發(fā)和任務的調度相分離,開發(fā)人員只需實現(xiàn)接口來定義任務,用戶來進行調度設置。該系統(tǒng)提高了任務調度的靈活性,可以適用于任何企業(yè)的任務調度需求;同時又降低了開發(fā)難度,減少了開發(fā)時間,提高了開發(fā)效率。

        參考文獻:

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

        [2]計文柯.Spring技術內幕(第2版)[M].北京:機械工業(yè)出版社,2012.

        [3]http://www.quartz-scheduler.org/documentation[OL].

        [4]http://www.blogjava.net/baoyaer/articles/155645.html[OL].

        作者簡介:劉志鵬(1985-),男,陜西西安人,碩士,研究方向:煤炭企業(yè)供應鏈電子商務、物流信息系以及集成供應鏈系統(tǒng)。

        作者單位:西安郵電大學 經濟與管理學院,西安 710061

        基金項目:西安郵電大學校青年教師科研基金項目(項目編號:ZL2014-49)。

        嫩呦国产一区二区三区av| 亚洲碰碰人人av熟女天堂| 国产偷窥熟女精品视频| 一区二区三区国产美女在线播放| 性感人妻av在线播放| 91精品国产综合久久精品密臀| 国产精品久久久久久久久久红粉| 国产精品久久久久9999小说| 亚洲欧美日韩综合久久| 无码区a∨视频体验区30秒| 久久亚洲精品中文字幕蜜潮| 夜夜骚久久激情亚洲精品| 亚洲国产一区二区三区在线观看| 少妇装睡让我滑了进去| 欧美性一区| 亚洲国产精品二区三区| 午夜国产精品视频在线观看| 无码国产精品久久一区免费| 国产高清乱理伦片| avtt一区| 亚洲偷自拍国综合第一页国模 | 精品视频在线观看日韩| 精品国产这么小也不放过| 免费人成视频在线观看网站| 欧美激情精品久久999| 国产高清不卡在线视频| 成人免费在线亚洲视频| 亚欧美日韩香蕉在线播放视频 | 99精品免费视频| 亚洲不卡毛片在线观看| 国产亚洲成人精品久久| 国产99久久久国产精品免费看| 日本55丰满熟妇厨房伦| 99熟妇人妻精品一区五一看片| 第一九区另类中文字幕| 宅男66lu国产在线观看| 无码人妻品一区二区三区精99| 久久国产av在线观看| 日韩精品视频免费在线观看网站| 丰满的人妻hd高清日本| 亚洲成a人片在线观看天堂无码|