java定时器(不废话,直接讲例子)

 

该类继承timerTask 里面的run方法写具体的方法比如调用数据库之类的

package com.sys.tasktimer;
import java.util.TimerTask;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
public class TimerSendEmail extends TimerTask {
 public TimerSendEmail() {
  super();
  // TODO Auto-generated constructor stub
 }
 private static final int C_SCHEDULE_HOUR = 3;// 这个代表3点钟的时候执行任务
 private static boolean isRunning = false;
 private ServletContext context = null;
 public TimerSendEmail(ServletContext context) {
  this.context = context;
 }
 public void run() {
   System.out.println("===================");
 }
 public void init() throws ServletException {
  // Put your code here
 }
}
该类是监听类,这个类需要在web.xml里面配置,从而在tomcat启动的时候去调用

package com.sys.tasktimer;

import java.util.Timer;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.http.HttpServlet;

public class TimerSendEmailListener extends HttpServlet implements ServletContextListener {
    private Timer timer = null;
    public void contextInitialized(ServletContextEvent event) {
      timer = new Timer(true);
      event.getServletContext().log("发送邮件定时器已启动");
      timer.schedule(new TimerSendEmail(event.getServletContext()),0,1000); //0表示tomcat启动的时候运行切不延迟,1000表示运行周期为1秒

 event.getServletContext().log("发送邮件已经添加任务调度表");
    }
    public void contextDestroyed(ServletContextEvent event) {
      timer.cancel();
      System.out.println("发送邮件定时器销毁");
      event.getServletContext().log("发送邮件定时器销毁");
    }
}
web.xml配置如下,配置TimerSendEmailListener 这个类

 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 <listener>
<listener-class>com.sys.tasktimer.TimerSendEmailListener</listener-class>
</listener>

说明:这个例子拿下来可以直接用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值