web中TImer定时器的使用(web.xml)

xiaoxiao2026-05-16  12

1操作类

package com;

import java.util.TimerTask;

public class JinTask extends TimerTask {

public void run() { //可以定义自己要处理的方法 System.out.println("开始执行了!!!!"); System.out.println(System.currentTimeMillis());

}

}2定时器监听类

package com;import java.util.Calendar;import java.util.GregorianCalendar;import java.util.Timer;

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

import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;

public class JinListener implements ServletContextListener {//Fieldsprivate Log logger = LogFactory.getLog(this.getClass()); //日志private static Timer timer;private static DeleteImageTask task = new JinTask();

public void contextDestroyed(ServletContextEvent arg0) { logger.debug("调用contextDestroyed方法"); if (timer != null) { timer.cancel(); logger.debug("Timer Canceled"); } //timer.schedule(task, 0, 100); logger.debug("contextDestroyed方法执行完成");

}

public void contextInitialized(ServletContextEvent arg0) { logger.debug("调用contextInitialized方法"); try { timer = new Timer(true); GregorianCalendar now = new GregorianCalendar(); //每天9:22执行 Calendar.DAY_OF_YEAR(一年中第一天的值为 1) //HOUR_OF_DAY( 用于 24 小时制时钟) //WEEK_OF_YEAR(第一个星期为1) now.set(Calendar.HOUR_OF_DAY, 9); now.set(Calendar.MINUTE, 22); now.set(Calendar.SECOND, 0); timer.schedule(task, now.getTime()); } catch (Exception e) { e.printStackTrace(); logger.error("Unable to initialize Schedule."); } logger.debug("contextInitialized方法执行完成");

}}

3web.xml中的配置

<listener> <listener-class> com.JinListener </listener-class></listener>

转载请注明原文地址: https://www.6miu.com/read-5048870.html

最新回复(0)