定时执行任务_第1页
定时执行任务_第2页
定时执行任务_第3页
定时执行任务_第4页
定时执行任务_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——定时执行任务定时执行任务-JavaWEB程序

指定每一天某时某分执行某项任务的功能。

/***第一个类定时器任务类***/

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程序_[定时任务管理器]_[公共类]

*Description:[定时器]

*Copyright:xuqb(c)2023

*Company:xuqb工作室

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

publicclassTimerManager{

/**

*Description:[时间间隔,每天执行次数(每24小时执行一次)]

*Value:PERIOD_DAY

*/

privatestaticfinallongPERIOD_DAY=24*60*60*1000;

/**

*Description:[时间间隔,每天执行次数(每五秒执行一次)]

*Value:PERIOD_DAY

*/

//privatestaticfinallongPERIOD_DAY=5*1000;/**

*Description:[构造方法]

*@constructor方法.*/

publicTimerManager(){

//--获取配置文件中的时间

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

第1页共10页

StringcommitCount=null;//配置文件中的预设小时和分钟(24小时制)try{

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

catch(IOExceptionea){

ea.printStackTrace();}

String[]objtime=null;

//拆分从配置文件预设的小时和分钟;若没有,则默认零时零分执行(24小时制)if(commitCount!=null

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

intbeginHour=Integer.parseInt(objtime[0]);//开始执行小时(24小时制)intbeginMimu=Integer.parseInt(objtime[1]);//开始执行分钟(24小时制)Calendarcalendar=Calendar.getInstance();/***定制每日某时:某分执行方法(24小时制)***/

calendar.set(Calendar.HOUR_OF_DAY,beginHour);//开始执行小时(24小时制)calendar.set(Calendar.MINUTE,beginMimu);//开始执行分钟(24小时制)calendar.set(Calendar.SECOND,0);//开始执行秒(24小时制)

Datedate=calendar.getTime();//第一次执行定时任务的时间

//假使第一次执行定时任务的时间小于当前的时间//此时要在第一次执行定时任务的时间加一天,以便此任务在下个时间点执行。假使不加一天,任务会马上执行。if(date.before(newDate())){

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

Timertimer=newTimer();

NFDFlightDataTimerTasktask=newNFDFlightDataTimerTask();//安排指定的任务在指定的时间开始进行重复的固定延迟执行。timer.schedule(task,date,PERIOD_DAY);}

第2页共10页

/**

*Createdon2023-8-13

*Description:[增加或减少天数]

*@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

/***其次个类,协同定时器引入具体业务实现类***/

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

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

*Createdon2023-8-13

*Title:JavaWeb程序_[定时任务管理器]_[引用类]

*Description:[协同定时器引入具体业务实现类]

*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{

//在这里写你要执行的内容

System.out.println(\先生提醒:这里编辑您的业务方法\}

catch(Exceptionemz){

System.out.println(\解析信息发生异常\

(\解析信息发生异常\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){}}}

/***第三个类,读取指定目录下的配置文件内容的类***/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;/**

*这是个配置文件操作类,用来读取和设置ini配置文件*/

publicfinalclassConfigurationFile{

publicstaticStringgetConfigFile

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论