监听器:
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class WeatherImageListener implements ServletContextListener {
Timer timer = new Timer() ;
public void contextDestroyed(ServletContextEvent arg) {
timer.cancel(); //销毁定时器
}
public void contextInitialized(ServletContextEvent arg0) {
//时间间隔
long daytime = 24 * 60 * 60 * 1000;
/*** 定制每日23:00执行方法 ***/
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 24);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
//第一次执行定时任务的时间
Date date=calendar.getTime();
timer = new java.util.Timer(true); //启动定时器
timer.schedule(new WeatherImageTask(), new Date(),15000); //启动和间隔时间 间隔1天
}
}
定时器:
public class WeatherImageTask extends TimerTask {
private static final Log log = LogFactory.getLog(WeatherImageTask.class);
public void run() {
//执行想要执行的任务
}}
配置文件:web.xml
<listener>
<listener-class>com.toolsba.taobao.task.WeatherImageListener</listener-class>
</listener>