返回顶部

收藏

java web项目中的通用计时任务

更多

为你的java web项目创建定时任务,只用继承便可,当然还需要在web.xml里配置一下。

TimerListener.java

package org.dave.web;

import java.util.Timer;
import java.util.TimerTask;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

/**
 * 计时任务监听
 * @author David Day
 */
public abstract class TimerListener implements ServletContextListener {

    /**
     * 计时器
     */
    private Timer timer;

    /**
     * 延迟时间的毫秒数
     */
    private long delay;

    /**
     * 间隔时间的毫秒数
     */
    private long period;

    /**
     * @param delay 延期时间的毫秒数
     * @param period 间隔时间的毫秒数
     */
    protected TimerListener(long delay, long period) {
        super();
        this.delay = delay;
        this.period = period;
    }

    /**
     * 初始化
     */
    @Override
    public void contextInitialized(ServletContextEvent event) {
        timer = new Timer();
        timer.schedule(new TimerTask(){

            @Override
            public void run() {
                runTask();
            }

        }, delay, period);
    }

    /**
     * 销毁
     */
    @Override
    public void contextDestroyed(ServletContextEvent event) {
        timer.cancel();
    }

    /**
     * 执行任务
     */
    public abstract void runTask();

}

标签:Java,Web,Timer

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 果冻想 发表 2018-03-24 06:01:06 JSP内置对象——session对象
  2. Terry Zhang 发表 2014-04-30 06:57:43 [Java EE 7] JSF 工作流
  3. 果冻想 发表 2018-05-16 12:29:31 JSON入门教程
  4. 博主 发表 2016-03-27 09:26:20 诚招 Java Web、数据仓库、大数据中高级开发工程师
  5. liuchi1993 发表 2016-04-25 04:44:43 Java Web前端到后台常用框架介绍
  6. white 发表 2016-10-13 15:49:12 《HttpClient 官方文档》第五章 Fluent API
  7. white 发表 2016-11-20 14:17:08 《HttpClient 官方文档》第三章 HTTP 状态管理
  8. root 发表 2015-04-17 08:18:01 java学习笔记—web计算器(36)
  9. 博主 发表 2015-03-25 08:36:02 Java Web 笔记 (02)
  10. Herb Sutter 发表 2013-07-09 16:47:02 Recommended reading: Why mobile web apps are slow
  11. 果冻想 发表 2018-03-24 05:47:27 JSP内置对象——response对象
  12. 博主 发表 2015-03-25 08:35:47 Java Web 笔记 (03)

发表评论