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

坚强的龙王

坚强的龙王

2016-02-19 19:11

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

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

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

  第一步:创建一个任务治理类,实现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 dolog.debug("执行任务完成..."); //任务完成isRunning = false;   } else {log.debug("上一次任务执行还未结束..."); //上一次任务执行还未结束   }  } }

  第三步:在web中添加一个监听器

  以下是引用片段:

  

listener  listener-class***.TaskManager/listener-class  description要定期执行的任务/description /listener

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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)
展开更多 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 Web应用中任务调度解析(1)

编程语言 网络编程
Java Web应用中任务调度解析(1)

java在Linux下的web应用(一)

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

lolAD刺客新符文搭配推荐

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

如何判断conn.Execute成功 或失败?

如何判断conn.Execute成功 或失败?

Win10手机预览版10166更新内容和模拟器截图

Win10手机预览版10166更新内容和模拟器截图
下拉加载更多内容 ↓