返回顶部

收藏

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

发表评论