返回顶部

收藏

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. ajaxj 发表 2014-05-30 01:25:04 java web框架Play和Grails框架的优缺点
  2. liuchi1993 发表 2016-03-25 14:22:38 JAVA文件中获取路径及WEB应用程序获取路径方法
  3. bluedavy 发表 2014-11-10 10:47:34 一个Web应用访问偶尔慢的Case
  4. neo 发表 2016-02-08 06:57:26 SpringMVC源码分析和一些常用最佳实践
  5. 博主 发表 2016-07-18 04:01:39 JFlask 诞生手记 01
  6. 博主 发表 2016-07-24 08:08:35 JFlask 诞生手记 02 - 路由
  7. 博主 发表 2016-03-28 12:58:40 Spring MVC注解小例子
  8. 博主 发表 2015-03-23 00:00:00 Spring搭建 java web 的基本架子
  9. suzui 发表 2014-03-17 09:55:49 office文档转pdf实现
  10. yuan 发表 2015-05-25 00:33:58 使用Java发送邮件的一个简单示例与一些思考
  11. 博主 发表 2017-11-28 08:26:00 java-web开发(一)--环境搭建
  12. 蔡晓建 发表 2017-11-24 00:00:00 认真看待java web基础

发表评论