定時執(zhí)行任務(wù)_第1頁
定時執(zhí)行任務(wù)_第2頁
定時執(zhí)行任務(wù)_第3頁
定時執(zhí)行任務(wù)_第4頁
定時執(zhí)行任務(wù)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——定時執(zhí)行任務(wù)定時執(zhí)行任務(wù)-JavaWEB程序

指定每一天某時某分執(zhí)行某項任務(wù)的功能。

/***第一個類定時器任務(wù)類***/

packagecom.wisdom.smsframe.logic.smsend;

importjava.util.Date;importjava.util.Timer;importjava.util.Calendar;importjava.io.IOException;

importcom.wisdom.base.ConfigurationFile;/**

*Createdon2023-8-13

*Title:J2EE程序_[定時任務(wù)管理器]_[公共類]

*Description:[定時器]

*Copyright:xuqb(c)2023

*Company:xuqb工作室

*@developerxuqb[155282323@.com]*@version1.0*/

publicclassTimerManager{

/**

*Description:[時間間隔,每天執(zhí)行次數(shù)(每24小時執(zhí)行一次)]

*Value:PERIOD_DAY

*/

privatestaticfinallongPERIOD_DAY=24*60*60*1000;

/**

*Description:[時間間隔,每天執(zhí)行次數(shù)(每五秒執(zhí)行一次)]

*Value:PERIOD_DAY

*/

//privatestaticfinallongPERIOD_DAY=5*1000;/**

*Description:[構(gòu)造方法]

*@constructor方法.*/

publicTimerManager(){

//--獲取配置文件中的時間

Stringfile_path=ConfigurationFile.getConfigFilePath();//獲取位于SMS/WEB-INF/SMCS.INI配置文件路徑

第1頁共10頁

StringcommitCount=null;//配置文件中的預設(shè)小時和分鐘(24小時制)try{

commitCount=ConfigurationFile.getProfile(file_path,\提取代碼,例如[dsrwtime]SmsCounts=10:38}

catch(IOExceptionea){

ea.printStackTrace();}

String[]objtime=null;

//拆分從配置文件預設(shè)的小時和分鐘;若沒有,則默認零時零分執(zhí)行(24小時制)if(commitCount!=null

objtime[0]=\零時(24小時制)objtime[1]=\零分(24小時制)}

intbeginHour=Integer.parseInt(objtime[0]);//開始執(zhí)行小時(24小時制)intbeginMimu=Integer.parseInt(objtime[1]);//開始執(zhí)行分鐘(24小時制)Calendarcalendar=Calendar.getInstance();/***定制每日某時:某分執(zhí)行方法(24小時制)***/

calendar.set(Calendar.HOUR_OF_DAY,beginHour);//開始執(zhí)行小時(24小時制)calendar.set(Calendar.MINUTE,beginMimu);//開始執(zhí)行分鐘(24小時制)calendar.set(Calendar.SECOND,0);//開始執(zhí)行秒(24小時制)

Datedate=calendar.getTime();//第一次執(zhí)行定時任務(wù)的時間

//假使第一次執(zhí)行定時任務(wù)的時間小于當前的時間//此時要在第一次執(zhí)行定時任務(wù)的時間加一天,以便此任務(wù)在下個時間點執(zhí)行。假使不加一天,任務(wù)會馬上執(zhí)行。if(date.before(newDate())){

date=this.addDay(date,0);//0代表增加0天}

Timertimer=newTimer();

NFDFlightDataTimerTasktask=newNFDFlightDataTimerTask();//安排指定的任務(wù)在指定的時間開始進行重復的固定延遲執(zhí)行。timer.schedule(task,date,PERIOD_DAY);}

第2頁共10頁

/**

*Createdon2023-8-13

*Description:[增加或減少天數(shù)]

*@paramdate*@paramnum*@return

*@developer:xuqb[155282323@.com]

*@update:[日期YYYY-MM-DD][更改人姓名][E-mail]*/

publicDateaddDay(Datedate,intnum){

CalendarstartDT=Calendar.getInstance();startDT.setTime(date);

startDT.add(Calendar.DAY_OF_MONTH,num);returnstartDT.getTime();}}

com.wisdom.smsframe.logic.smsend.TimerManager

/***其次個類,協(xié)同定時器引入具體業(yè)務(wù)實現(xiàn)類***/

packagecom.wisdom.smsframe.logic.smsend;importcommon.Logger;importjava.util.TimerTask;

importjavax.servlet.ServletContextEvent;importjavax.servlet.ServletContextListener;/**

*Createdon2023-8-13

*Title:JavaWeb程序_[定時任務(wù)管理器]_[引用類]

*Description:[協(xié)同定時器引入具體業(yè)務(wù)實現(xiàn)類]

*Copyright:xuqb(c)2023

*Company:xuqb工作室

*@developerxuqb[155282323@.com]*@version1.0*/

publicclassNFDFlightDataTimerTaskextendsTimerTask{

/**

*Description:[字段功能描述]

*Value:log

第3頁共10頁

*/

privatestaticLoggerlog=Logger.getLogger(NFDFlightDataTimerTask.class);/**

*Createdon2023-8-13

*Description:[方法功能中文描述]

*@developer:xuqb[155282323@.com]

*@update:[日期YYYY-MM-DD][更改人姓名][E-mail]*/

publicvoidrun(){try{

//在這里寫你要執(zhí)行的內(nèi)容

System.out.println(\先生提醒:這里編輯您的業(yè)務(wù)方法\}

catch(Exceptionemz){

System.out.println(\解析信息發(fā)生異常\

(\解析信息發(fā)生異常\emz.printStackTrace();}}/**

*Createdon2023-8-13

*Title:JavaWeb程序_[模塊名稱]_[說明]

*Description:[描述該類概要功能介紹]

*Copyright:xuqb(c)2023

*Company:xuqb工作室

*@developerxuqb[155282323@.com]*@version1.0*/

publicclassNFDFlightDataTaskListenerimplementsServletContextListener{/**

*Createdon2023-8-13

*Description:[方法功能中文描述]

*@developer:xuqb[155282323@.com]

*@update:[日期YYYY-MM-DD][更改人姓名][E-mail]*/

publicvoidcontextInitialized(ServletContextEventevent){

newTimerManager();}

第4頁共10頁

/**

*Createdon2023-8-13

*Description:[方法功能中文描述]

*@developer:xuqb[155282323@.com]

*@update:[日期YYYY-MM-DD][更改人姓名][E-mail]*/

publicvoidcontextDestroyed(ServletContextEventevent){}}}

/***第三個類,讀取指定目錄下的配置文件內(nèi)容的類***/packagecom.wisdom.base;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;importjava.util.regex.Matcher;importjava.util.regex.Pattern;importjava.io.File;

import.URLDecoder;/**

*這是個配置文件操作類,用來讀取和設(shè)置ini配置文件*/

publicfinalclassConfigurationFile{

publicstaticStringgetConfigFile

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論