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

        ?

        Tomcat執(zhí)行定時(shí)任務(wù)實(shí)現(xiàn)不同系統(tǒng)數(shù)據(jù)導(dǎo)入

        2015-09-25 09:14:14葉均隆葉均明何銀川
        現(xiàn)代計(jì)算機(jī) 2015年9期
        關(guān)鍵詞:江門(mén)代碼方法

        葉均隆,葉均明,何銀川

        (1.廣東南方職業(yè)學(xué)院信息技術(shù)系,江門(mén) 529000;2.江門(mén)中心醫(yī)院,江門(mén) 529000;3.廣東南方職業(yè)學(xué)院信息技術(shù)系,江門(mén)529000)

        Tomcat執(zhí)行定時(shí)任務(wù)實(shí)現(xiàn)不同系統(tǒng)數(shù)據(jù)導(dǎo)入

        葉均隆1,葉均明2,何銀川3

        (1.廣東南方職業(yè)學(xué)院信息技術(shù)系,江門(mén) 529000;2.江門(mén)中心醫(yī)院,江門(mén)529000;3.廣東南方職業(yè)學(xué)院信息技術(shù)系,江門(mén)529000)

        0 引言

        隨著企業(yè)的發(fā)展,企業(yè)的信息化系統(tǒng)也越來(lái)越多,但新引入的系統(tǒng)往往需要實(shí)現(xiàn)新舊系統(tǒng)之間的數(shù)據(jù)聯(lián)系,也有原來(lái)系統(tǒng)業(yè)務(wù)某些特定需求增加也可能需要不同系統(tǒng)的數(shù)據(jù)聯(lián)系。那么實(shí)現(xiàn)企業(yè)不同系統(tǒng)數(shù)據(jù)傳遞有那些方法呢?據(jù)筆者了解通常有這些實(shí)現(xiàn)方法:消息中間件(如:JMS)、專(zhuān)用數(shù)據(jù)接口程序、Web Services等方法。但是根據(jù)筆者以往多年的實(shí)踐經(jīng)驗(yàn),采用什么方法實(shí)際會(huì)根據(jù)企業(yè)集團(tuán)需求以及系統(tǒng)的實(shí)際情況采用合適的方法。有些開(kāi)發(fā)者在遇到這類(lèi)似的問(wèn)題的時(shí)候一般會(huì)考慮使用Web Services實(shí)現(xiàn)。但是也有不少是這些情況——集團(tuán)企業(yè)只需一個(gè)信息系統(tǒng)向另一信息系統(tǒng)導(dǎo)入數(shù)據(jù);每天有大量數(shù)據(jù)輸入到一個(gè)系統(tǒng)里并且數(shù)據(jù)來(lái)自另一個(gè)系統(tǒng)或者多個(gè)系統(tǒng)。筆者多年的項(xiàng)目經(jīng)歷中都遇過(guò)。其中有一次,一企業(yè)引進(jìn)的了某公司的系統(tǒng),系統(tǒng)要求收集多個(gè)部門(mén)信息,這些信息一般都保存在各個(gè)部門(mén)正在使用的信息系統(tǒng)里。其中有一個(gè)系統(tǒng)正好是筆者負(fù)責(zé)的系統(tǒng)。提出需求是系統(tǒng)要把每小時(shí)生產(chǎn)的多個(gè)產(chǎn)品的成分信息定時(shí)導(dǎo)入新系統(tǒng)里。筆者也曾建議采用Web Services提供數(shù)據(jù)接口方法實(shí)現(xiàn),但是對(duì)方的項(xiàng)目經(jīng)理和相關(guān)技術(shù)人員則認(rèn)為這樣會(huì)增加新系統(tǒng)的負(fù)擔(dān)和二次開(kāi)發(fā)的工作量。深入分析,對(duì)方并非無(wú)理。企業(yè)每天生產(chǎn)的產(chǎn)品數(shù)量當(dāng)然不少的,并且種類(lèi)和成分構(gòu)成也不盡相同,那么每天的數(shù)據(jù)量當(dāng)然很多的,如果采用是Web Services,系統(tǒng)有三種方法實(shí)現(xiàn):①需要的時(shí)候再調(diào)用Web Services獲得數(shù)據(jù),完成系統(tǒng)信息表現(xiàn),數(shù)據(jù)沒(méi)有導(dǎo)入系統(tǒng)中;②需要的時(shí)候再調(diào)用Web Services獲得數(shù)據(jù)并導(dǎo)入系統(tǒng)中;③定時(shí)通過(guò)Web Services獲得數(shù)據(jù)并導(dǎo)入系統(tǒng)。由于系統(tǒng)是產(chǎn)品型(即通用軟件),方法①有可能導(dǎo)致系統(tǒng)多個(gè)模塊的業(yè)務(wù)邏輯進(jìn)行更改,并且功能實(shí)現(xiàn)困難、性能下降,顯然不大可能采用;方法②業(yè)務(wù)邏輯則不需改動(dòng),只需增加數(shù)據(jù)導(dǎo)入的功能,但速度上卻是軟肋——系統(tǒng)每天生成很多數(shù)據(jù),更何況他們的系統(tǒng)還需要集團(tuán)多個(gè)系統(tǒng)的數(shù)據(jù),往往分析報(bào)表則需要多個(gè)部門(mén)數(shù)據(jù),如果加上很長(zhǎng)時(shí)間沒(méi)有觸發(fā)導(dǎo)入,那么一旦觸發(fā)時(shí),生成的分析報(bào)表所使用的導(dǎo)入時(shí)間將是非常影響當(dāng)時(shí)的工作效率的。方法③相比前面兩種要好,但增加系統(tǒng)開(kāi)發(fā)、維護(hù)、測(cè)試的工作量,帶有殺雞焉用牛刀意味,另外還增加系統(tǒng)日常負(fù)擔(dān),降低系統(tǒng)總體性能。因此,把數(shù)據(jù)導(dǎo)入任務(wù)交給具有原始數(shù)據(jù)的各系統(tǒng)完成。

        1 數(shù)據(jù)導(dǎo)入怎樣實(shí)現(xiàn)

        如果不采用Web Service完成數(shù)據(jù)導(dǎo)入,開(kāi)發(fā)專(zhuān)用數(shù)據(jù)接口程序,開(kāi)發(fā)工作也不少。經(jīng)過(guò)一段時(shí)間的思索,假設(shè)在Web服務(wù)器實(shí)現(xiàn)定時(shí)執(zhí)行任務(wù),問(wèn)題就迎刃而解,通過(guò)查找并閱讀大量相關(guān)文檔,了解到Java的Timer類(lèi)能實(shí)現(xiàn)定時(shí)引發(fā)事件——設(shè)置Timer類(lèi)一定的時(shí)間間隔,那么在間隔之后會(huì)準(zhǔn)時(shí)調(diào)用已經(jīng)安排好的任務(wù)(TimerTask類(lèi))。由于考慮系統(tǒng)實(shí)用性,當(dāng)系統(tǒng)重啟時(shí),系統(tǒng)能自動(dòng)創(chuàng)建Timer對(duì)象并開(kāi)始進(jìn)行計(jì)劃任務(wù),實(shí)現(xiàn)每隔一小時(shí)進(jìn)行一次數(shù)據(jù)格式轉(zhuǎn)換并導(dǎo)入。那么用什么方式創(chuàng)建Timer對(duì)象是下一步要考慮的問(wèn)題。如果在Servlet創(chuàng)建,需要在web.xml設(shè)置<load-onstartup>的值,理論是可行。設(shè)置代碼:

        上面代碼”Xxx”,讀者可根據(jù)所需替換自定義的類(lèi)名??紤]程序的穩(wěn)定性,Timer對(duì)象的宿主的生存周期應(yīng)該為系統(tǒng)的生命周期,使用第二種方法ServletContext偵聽(tīng)器為宿主更適合。下面將詳細(xì)介紹第二種方法:

        (1)使用ServletContext偵聽(tīng)器要實(shí)現(xiàn)接口兩個(gè)方法

        (2)上述代碼出現(xiàn)PutInContextListener類(lèi)和PutIn-Bean類(lèi),它們的類(lèi)名可以根據(jù)自己的需要自定義。PutInContextListener類(lèi)是實(shí)現(xiàn)ServletContext偵聽(tīng)器的,而PutInBean類(lèi)也需要自己創(chuàng)建,它主要是業(yè)務(wù)邏輯實(shí)現(xiàn),如:上面所說(shuō)的數(shù)據(jù)導(dǎo)入功能。PutInBean類(lèi)參考代碼如下:

        上面代碼中“//在這里開(kāi)發(fā)……”為數(shù)據(jù)導(dǎo)入的功能實(shí)現(xiàn)地方,讀者可以替換為自己要實(shí)現(xiàn)各類(lèi)功能的程序代碼。不同系統(tǒng)的數(shù)據(jù)導(dǎo)入要考慮兩問(wèn)題:①不同系統(tǒng)的數(shù)據(jù)格式一般是不一致的,需要相應(yīng)地轉(zhuǎn)換。②導(dǎo)入數(shù)據(jù)之前先判斷哪些是已經(jīng)導(dǎo)入的,哪些是沒(méi)有導(dǎo)入的。另外私有靜態(tài)變量isBusy是用來(lái)控制每次導(dǎo)入不能同一時(shí)間段有并行工作的(實(shí)際應(yīng)用不會(huì)出現(xiàn)一個(gè)鐘頭以上的數(shù)據(jù)導(dǎo)入操作,但作為一個(gè)通用性代碼有必要設(shè)置的)。數(shù)據(jù)導(dǎo)入是不能并行的,同一時(shí)間段進(jìn)行很容易導(dǎo)致相同的數(shù)據(jù)重復(fù)導(dǎo)入,那么會(huì)造成本次導(dǎo)數(shù)的數(shù)據(jù)回滾,從而導(dǎo)致這次導(dǎo)數(shù)失敗。本次導(dǎo)數(shù)運(yùn)行完畢后,設(shè)置isBusy為false,下次導(dǎo)數(shù)則可以進(jìn)行,設(shè)置isBusy為true則不行。其他的代碼非常簡(jiǎn)單,不一一闡述。

        (3)PutInContextListener類(lèi)和PutInBean類(lèi)開(kāi)發(fā)完后,剩下就是部署PutInContextListener偵聽(tīng)器類(lèi)。

        當(dāng)然,上面的dataPutIn.servlet換成讀者自定義的包名。保存web.xml配置,把工程部署到服務(wù)器。啟動(dòng)服務(wù),定時(shí)任務(wù)就會(huì)執(zhí)行。

        2 結(jié)語(yǔ)

        實(shí)際上一般還需要日志記錄運(yùn)行結(jié)果,以方便日后系統(tǒng)維護(hù),那么將PutInContextListener類(lèi)里的System.out.println()替換為event.getServletContext().log()方法和PutInBean類(lèi)里的System.out.println()替換為context. log()方法即可實(shí)現(xiàn)。

        筆者也曾在其他異構(gòu)系統(tǒng)里實(shí)現(xiàn)類(lèi)似的數(shù)據(jù)導(dǎo)入功能,也試過(guò)開(kāi)發(fā)專(zhuān)用程序和Web Service實(shí)現(xiàn),但是開(kāi)發(fā)較為復(fù)雜,如果此數(shù)據(jù)接口用在多個(gè)系統(tǒng),那就比較適合,有些還需增加權(quán)限控制。類(lèi)似本文的情況那么就使用Tomcat執(zhí)行定時(shí)任務(wù),將是不錯(cuò)實(shí)現(xiàn)方法。

        [1]程煒.基于Web Service的一種分布式體系結(jié)構(gòu)[J].四川:計(jì)算機(jī)應(yīng)用研究,2002

        [2]鄭寧.JSP編程及案例分析[M].北京:清華大學(xué)出版社,2010

        [3]關(guān)東升,田登山.JSP網(wǎng)絡(luò)程序設(shè)計(jì).北京:北京郵電大學(xué)出版社,2011

        [4]高張.提高Tomcat服務(wù)器運(yùn)行性能的研究[J].湖北:計(jì)算機(jī)與數(shù)字工程,2008

        [5]耿祥義.Java2實(shí)用教程(第4版).北京:清華大學(xué)出版社,2012

        [6]孫衛(wèi)琴.Tomcat與Java Web開(kāi)發(fā)技術(shù)詳解.北京:電子工業(yè)出版社,2009

        Timing Task;Data Import;Web Service;Timer;Servlet Context Listener

        Tomcat Execute Timing Tasks to Achieve Different System Data Import

        YE Jun-long1,YE Jun-ming2,HE Yin-chuan3
        (1.Department of Information Technology,Guangdong Nanfang Vocational College,Jiangmen529000;2. Jiangmen Central Hospital,Jiangmen 529000;2.Department of Information Technology,Guangdong Nanfang Vocational College,Jiangmen 529000)

        1007-1423(2015)09-0054-03

        10.3969/j.issn.1007-1423.2015.09.013

        葉均?。?983-),男,廣東省江門(mén)人,本科,助教,研究方向?yàn)橛?jì)算機(jī)科學(xué)與技術(shù)和教育技術(shù)學(xué)

        葉均明(1980-),男,廣東江門(mén)人,本科,助理工程師,研究方向網(wǎng)絡(luò)工程和醫(yī)院信息化

        何銀川(1984-),男,河南周口人,研究生,助教,研究方向?yàn)橛?jì)算機(jī)教育、軟件工程、現(xiàn)代教育技術(shù)

        2015-01-29

        2015-03-03

        重點(diǎn)介紹企業(yè)不同信息系統(tǒng)數(shù)據(jù)導(dǎo)入的其中一種實(shí)現(xiàn)方法,并比較其他實(shí)現(xiàn)方法的優(yōu)劣,結(jié)合企業(yè)實(shí)際需求提出Tomcat執(zhí)行定時(shí)任務(wù)實(shí)現(xiàn)不同系統(tǒng)數(shù)據(jù)導(dǎo)入。實(shí)現(xiàn)原理是通過(guò)PutInContextListener偵聽(tīng)器實(shí)現(xiàn)ServletContext Listener接口并裝載Timer對(duì)象,Timer對(duì)象定時(shí)觸發(fā)PutInBean對(duì)象相應(yīng)的方法,實(shí)現(xiàn)數(shù)據(jù)的導(dǎo)入。

        定時(shí)任務(wù);數(shù)據(jù)導(dǎo)入;Web Service;Timer;ServletContext偵聽(tīng)器

        Introduces a method to realize the import of data which between different enterprise information systems,and compared the other methods to realize the advantages and disadvantages,combined with the actual needs of enterprises,puts forward Tomcat execution timing task to achieve different system data import.The principle is to pass the PutInContextListener listener to implement the ServletContextListener interface and load the Timer object,timer object trigger timing method of the PutInBean object,to execute data import.

        猜你喜歡
        江門(mén)代碼方法
        精彩觀影,歡樂(lè)K歌 江門(mén)開(kāi)平優(yōu)之名商務(wù)多功能影音室
        “江門(mén)之心”——東甲立交方案設(shè)計(jì)
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        廣東江門(mén)“多證合一”再開(kāi)全國(guó)先河
        可能是方法不對(duì)
        福彩公益金 傳遞溫暖情 走近江門(mén)福彩公益
        大社會(huì)(2016年5期)2016-05-04 03:41:51
        用對(duì)方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        国产自拍一区在线视频| 99久久久国产精品免费蜜臀| 日本女优中文字幕看片| 日本精品啪啪一区二区| 一区二区三区中文字幕p站| 国偷自产一区二区免费视频| 亚洲人成影院在线无码观看| 中文字幕精品一区二区日本| 国产亚洲精品久久情侣| 爱性久久久久久久久| 亚洲成a人片在线看| 久久亚洲精品国产精品婷婷| 亚洲综合第一页中文字幕| 99久久免费国产精品| 日韩精品电影在线观看| 亚洲av成人久久精品| 白嫩丰满少妇av一区二区| 久久综合精品国产二区无码| 久久精品视频91| 国产一区二区视频在线看| 国产区精品一区二区不卡中文| 国产色综合天天综合网| 亚洲第一区二区快射影院| 国产精品亚洲一区二区三区在线看 | 在线观看av不卡 一区二区三区| 日本一区二区三区爆乳| 躁躁躁日日躁| 日韩午夜在线视频观看| 自拍偷拍 视频一区二区| 亚洲成av人在线观看天堂无码| chinese国产在线视频| 亚洲一区二区懂色av| 亚洲欧美牲交| 亚洲精品国产成人AV| 日韩乱码精品中文字幕不卡| 中文字幕av久久亚洲精品| 亚洲男人的天堂在线播放| 欧美成人网视频| 亚洲综合偷自成人网第页色| 无码人妻久久一区二区三区不卡| 精品在免费线中文字幕久久|