ServletContextListener问题
public class MyTask extends TimerTask {
private static final int C_SCHEDULE_HOUR = 9;
private static final int C_SCHEDULE_DAY = 11;
private static boolean isRunning = false;
private ServletContext context = null;
public void run() {
IDAO dao = DAOFactory.getInstance().getHBDAO();
Calendar cal = Calendar.getInstance();
if (!isRunning) {
if (C_SCHEDULE_DAY == cal.get(Calendar.DAY_OF_MONTH)) { //判断是否为11号
if (C_SCHEDULE_HOUR == cal.get(Calendar.HOUR_OF_DAY)) { //判断是否为9点
isRunning = true;
context.log("开始执行");
......//代码
isRunning = false;
context.log("指定任务执行结束");
}
}
} else {
context.log("上一次任务执行还未结束");
}
}
}
public class ContextListener extends HttpServlet implements ServletContextListener {
private java.util.Timer timer = null;
public void contextInitialized(ServletContextEvent event) {
timer = new java.util.Timer(true);
event.getServletContext().log("启动");
timer.schedule(new MyTask(event.getServletContext()),0,60*60*1000);
event.getServletContext().log("添加任务");
}
public void contextDestroyed(ServletContextEvent event) {
timer.cancel();
event.getServletContext().log("销毁");
}
}
为什么当我把日期设为11号系统时钟设定为9点时。不执行这个类是为什么啊???