Tomcat中简易定时器的实现

定时器代码:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

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

public class MyTimerTask implements ServletContextListener
{
	private Timer timer = null;
	public void contextDestroyed(ServletContextEvent event)
	{
		timer.cancel();
		event.getServletContext().log("定时器销毁");
	}
	public void contextInitialized(ServletContextEvent event)
	{
		timer = new Timer(true);
		event.getServletContext().log("定时器已启动");//添加日志,可在tomcat日志中查看到
		Date date;
		try {
			date = new SimpleDateFormat("yyyy-MM-dd mm:ss").parse("2011-08-29 17:46");
			timer.schedule(new MyTask(),date,1*60*1000);
		} catch (ParseException e) {			
			e.printStackTrace();
		}
	}
	class MyTask extends TimerTask{
		@Override
		public void run() {
			System.out.println("hello greatjone !");
		}
	}
}

 

web.xml的配制:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 
  <listener>
    <listener-class>MyTimerTask</listener-class>
  </listener>

</web-app>
 

猜你喜欢

转载自greatjone.iteye.com/blog/1160744