Java:Web应用下实现定时任务的简便方法

潞村刀客

潞村刀客

2016-02-19 19:12

下面,图老师小编带您去了解一下Java:Web应用下实现定时任务的简便方法,生活就是不断的发现新事物,get新技能~

  在WEB应用下实现定时任务的简便方法

  在web方式下,假如我们要实现定期执行某些任务的话,除了用quartz等第三方开源工具外,我们可以使用Timer和TimeTask来完成指定的定时任务:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  第一步:创建一个任务治理类,实现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(); // 定时器销毁
   }
  }

    第二步:创建一个时间任务类

  

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  以下是引用片段:
  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

  那么在web服务器启动的时候,任务也被启动,并且会周期性的执行


    
展开更多 50%)
分享

猜你喜欢

Java:Web应用下实现定时任务的简便方法

编程语言 网络编程
Java:Web应用下实现定时任务的简便方法

Java知识:Web应用下实现定时任务简便方法

编程语言 网络编程
Java知识:Web应用下实现定时任务简便方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

java中 spring 定时任务 实现代码

编程语言 网络编程
java中 spring 定时任务 实现代码

定时任务

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
定时任务

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

java在Linux下的web应用(一)

Java JAVA基础
java在Linux下的web应用(一)

java在Linux下的web应用(二)

Java JAVA基础
java在Linux下的web应用(二)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Win10系统中Explorer.exe进程位置在哪

Win10系统中Explorer.exe进程位置在哪

C语言中的面向对象(4)-面向对象思想

C语言中的面向对象(4)-面向对象思想
下拉加载更多内容 ↓