国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

DWR與Quartz在WEB工程中的綜合應(yīng)用

2014-11-04 15:59:49葛萬標(biāo)李江冰
電腦知識與技術(shù) 2014年28期

葛萬標(biāo) 李江冰

摘要:隨著WEB工程的應(yīng)用,在使用的過程中會遇到大量的數(shù)據(jù)或者文件的生成,同時在處理數(shù)據(jù)或者文件的時候,需要動態(tài)的展示處理的結(jié)果,這就增加了WEB工程的復(fù)雜性和難度.異步處理數(shù)據(jù)的DWR框架和Quartz定時調(diào)度有效的解決了這一問題.本文簡要闡述Quartz與DWR的原理以及在WEB工程中的綜合應(yīng)用。

關(guān)鍵詞: DWR;Quartz;WEB工程

中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2014)28-6761-03

在WEB工程中,為了提高整個應(yīng)用的功能性問題,有些工作需要間隔一段時間去執(zhí)行,并且需要將執(zhí)行的結(jié)果呈現(xiàn)出來,將處理的過程動態(tài)的加載,提高工作效率,同時也增加客戶的友好性體驗,以文件的生成為例,Quartz主要是負責(zé)定時調(diào)度任務(wù)創(chuàng)建文件,DWR框架用來獲取處理結(jié)果,并給出提示信息.

1 Quartz與DWR的原理

1.1 Quartz作業(yè)調(diào)度框架

Quartz是OpenSymphony開源組織在Job scheduling領(lǐng)域又一個開源項目,它可以與J2EE與J2SE應(yīng)用程序相結(jié)合也可以單獨使用。Quartz可以用來創(chuàng)建簡單或為運行十個,百個,甚至是好幾萬個Jobs這樣復(fù)雜的程序.Jobs可以做成標(biāo)準(zhǔn)的Java組件或 EJBs.

Quartz提供了強大任務(wù)調(diào)度機制, 允許開發(fā)人員靈活地定義觸發(fā)器的調(diào)度時間表,并可以對觸發(fā)器和任務(wù)進行關(guān)聯(lián)映射.提供了調(diào)度運行環(huán)境的持久化機制,可以保存并恢復(fù)調(diào)度現(xiàn)場,即使系統(tǒng)因故障關(guān)閉,任務(wù)調(diào)度現(xiàn)場數(shù)據(jù)并不會丟失.

Quartz的幾個核心概念:

CronTriggerBean:調(diào)度觸發(fā)器:觸發(fā)器定義了對作業(yè)的調(diào)度,一旦被調(diào)用就會根據(jù)cron表達式里面的設(shè)置對作業(yè)進行調(diào)度.cron表達式包括以下7個字段:秒、分、小時、月內(nèi)日期、月、周內(nèi)日期、年(可選字段),主要設(shè)置作業(yè)運行的時間

MethodInvokingJobDetailFactoryBean:作業(yè)工廠.觸發(fā)的具體的作業(yè)執(zhí)行的方法, 在具體執(zhí)行待調(diào)度任務(wù)的method前后加入公用邏輯,比如記錄開始、結(jié)束日期、判斷該task是否由該臺服務(wù)器執(zhí)行、任務(wù)執(zhí)行完成之后將運行結(jié)果進行持久化或者發(fā)email等

SchedulerFactoryBean:調(diào)度器.調(diào)度器可以包含具體的JobDetail+CronTrigger的組合,其中一個JobDetail可以和多個CronTrigger關(guān)聯(lián)

1.2 DWR框架

DWR是一個便于從JavaScript調(diào)用Java函數(shù)和從Java調(diào)用JavaScript函數(shù)遠程過程調(diào)用協(xié)議,它可以允許運行在瀏覽器中的代碼執(zhí)行WEB服務(wù)器上的代碼,用JavaScript腳本語言直接調(diào)用后臺業(yè)務(wù)商業(yè)組件的解決方案,采用無刷新頁面的方式從遠程服務(wù)端獲取數(shù)據(jù),不僅提高頁面的響應(yīng)時間,而且也不會影響到用戶因為刷新頁面帶來的心理感覺.

DWR采用純JavaScript在瀏覽器中實現(xiàn),并且會根據(jù)瀏覽器類型采用最高的執(zhí)行效率的遠程調(diào)用機制,同時WEB開發(fā)人員必須配置哪些JAVA類可以安全的被外部使用

2 在WEB工程中的綜合應(yīng)用

2.1配置調(diào)度任務(wù)

<!—lazy-init設(shè)置為false表明容器啟動就會自動加載—>

<!—可以定義多個調(diào)度觸發(fā)器—>

<!— 定時生成文件 —>

<!—createFilesActuatorBean為具體的方法—>

<!— 每隔30秒執(zhí)行一次 創(chuàng)建文件 —>

2.2 DWR配置(導(dǎo)入相應(yīng)的jar包)

在web.xml里面配置,配置文件如下

dwr-invoker<!—定義的servlet的名稱 —>

org.directwebremoting.servlet.DwrServlet<!—具體的servlet的類—>

<!—初始化參數(shù)—>

debugtrue<!—默認該參數(shù)為false,修改為true可以進行調(diào)試,調(diào)試格式:http://ip:port/app-name/dwr,可以看到所有的DWR的類信息 —>

crossDomainSessionSecurityfalse<!—默認設(shè)置為true,設(shè)置為false表示可以從其他域進行請求 —>

}}});

}

<%— 啟動頁面定時任務(wù)(創(chuàng)建文件) —%>

function startTaskCreateFile(){

timerTask = setInterval("checkCreateFileStatus()",taskPeriod*1000);

}

建昌县| 延寿县| 华容县| 榆林市| 织金县| 奉贤区| 贵定县| 平顺县| 垦利县| 平南县| 广南县| 密云县| 靖宇县| 建宁县| 滨州市| 三门峡市| 修文县| 巴青县| 天柱县| 会东县| 北流市| 浏阳市| 福安市| 乌兰察布市| 天门市| 锦州市| 堆龙德庆县| 名山县| 正蓝旗| 昌邑市| 庆阳市| 罗源县| 格尔木市| 会同县| 碌曲县| 丽水市| 平谷区| 前郭尔| 隆德县| 衡阳市| 龙南县|