zoukankan      html  css  js  c++  java
  • tomcat定时任务ServletContextListener

    SysContextListener.java

    package com.tq365.util;

    import java.util.Timer;

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

    import com.tq365.test.Task;

    public class SysContextListener implements ServletContextListener{
    private Timer timer=null;

    //在这里初始化监听器,在tomcat启动的时候监听器启动,可以在这里实现定时器功能
    public void contextInitialized(ServletContextEvent event) {
    System.out.println(
    "监听器已经初始化!");
    timer
    =new Timer();
    event.getServletContext().log(
    "Tomcat定时器已经启动.....");
    //调用exportHistoryBean,0表示任务无延迟,5*1000表示每隔5秒执行任务,60*60*1000表示一个小时
    //timer.schedule(new SpecifiedTask(), 0, 5*1000);
    //timer.schedule(new Task(), 0, 10*1000);
    event.getServletContext().log("任务已经添加.....");
    }
    public void contextDestroyed(ServletContextEvent event) {
    //在这里关闭监听器,同时关闭定时器
    timer.cancel();
    event.getServletContext().log(
    "定时器关闭.....");
    }
    }

    SpecifiedTask.java 定时执行的任务

    package com.tq365.util;
    import java.util.TimerTask;
    import com.tq365.mail.SendMail;

    public class SpecifiedTask extends TimerTask {
    private static boolean isRunning = false;
    public SpecifiedTask(ServletContext context){
    this.context=context;
    }
    */
    @Override
    public void run() {
    if(!isRunning){
    isRunning
    =true;
    System.out.println(
    "定时打印...........");
    SendMail.sendMail();
    //定时发送邮件
    }
    }

    }

  • 相关阅读:
    idea配置tomcat
    使用svn时出现Can't switch /XXX/XXX because it is not the repository yet
    使用idea断点调试时出现no executable code found at line问题
    python 发送邮件
    python中子类调用父类的方法
    Java源码阅读PriorityQueue
    comparable和comparator
    java源码阅读LinkedBlockingQueue
    java源码阅读ArrayBlockingQueue
    java源码阅读LinkedList
  • 原文地址:https://www.cnblogs.com/archie2010/p/1935819.html
Copyright © 2011-2022 走看看