当前位置: 代码迷 >> J2EE >> struts框架实现定时任务解决思路
  详细解决方案

struts框架实现定时任务解决思路

热度:470   发布时间:2016-04-22 03:25:59.0
struts框架实现定时任务
以下是我在网上找到的代码:
Java code
第一步:创建一个任务管理类,实现ServletContextListener 接口                                                                public class TaskManager implements ServletContextListener {                                 /**                                  * 每天的毫秒数                                  */                                 public static final long PERIOD_DAY = DateUtils.MILLIS_IN_DAY;                                 /**                                  * 一周内的毫秒数                                  */                                 public static final long PERIOD_WEEK = PERIOD_DAY * 7;                                 /**                                  * 无延迟                                  */                                 public static final long NO_DELAY = 0; /**                                  * 定时器                                  */                                 private Timer timer;                                 /**                                  * 在Web应用启动时初始化任务                                  */ public void contextInitialized(ServletContextEvent event) {        //定义定时器                                  timer = new Timer("数据库表备份",true);      //启动备份任务,每月(4个星期)执行一次  timer.schedule(new BackUpTableTask(),NO_DELAY, PERIOD_WEEK * 4);//  timer.schedule(new BackUpTableTask(),NO_DELAY, 30000);     } /**  * 在Web应用结束时停止任务  */ public void contextDestroyed(ServletContextEvent event) {  timer.cancel(); // 定时器销毁     }                                }                                                                第二步:创建一个时间任务类                                public class BackUpTableTask extends TimerTask { private static Log log = LogFactory.getLog(BackUpTableTask.class);         private static boolean isRunning = false; public void run() {  if (!isRunning) {   isRunning = true;   log.debug("开始执行任务..."); //开始任务   //working  add what you want to do                                   log.debug("执行任务完成..."); //任务完成   isRunning = false;  } else {   log.debug("上一次任务执行还未结束..."); //上一次任务执行还未结束  } }}第三步:在web中添加一个监听器  <listener>  <listener-class>***.TaskManager</listener-class>  <description>要定期执行的任务</description> </listener>                                

问题:
1.public static final long PERIOD_DAY = DateUtils.MILLIS_IN_DAY;
其中DateUtils.MILLIS_IN_DAY提示找不到,谁有相关的包,麻烦提供一下地址,谢谢
2.这个放到struts框架里却不能自动执行任务,哪位帮我看看什么地方有问题,再次谢谢。



------解决方案--------------------
org.apache.commons.lang.time.DateUtils
  相关解决方案