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

编程技术  /  houtizong 发布于 3年前   101
  在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(); // 定时器销毁 }} 

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客