package tools;
import java.util.Timer;
import java.util.TimerTask;
import javax.servlet.ServletContext;
import org.apache.log4j.Logger;
public class MyTask extends TimerTask {
private static Logger logger = Logger.getLogger(MyTask.class);
private static boolean isRunning = false;
private ServletContext context = null;
private Timer timer;
public MyTask(ServletContext context, Timer timer) {
this.context = context;
this.timer = timer;
}
@Override
public void run() {
if (!isRunning) {
logger.info("开始执行指定任务.");
// if (C_SCHEDULE_HOUR == c.get(Calendar.HOUR_OF_DAY)) {
isRunning = true;
context.log("开始执行指定任务.");
// TODO 添加自定义的详细任务,以下只是示例
int i = 0;
while (i++ < 10) {
context.log("已完成任务的" + i + "/" + 10);
// System.out.println("已完成任务的" + i + "/" + 1000) ;
}
isRunning = false;
context.log("指定任务执行结束");
logger.info("指定任务执行结束");
timer.cancel();
// }
} else {
context.log("上一次任务执行还未结束");
}
}
}