项目背景:web前台项目,框架:String ,struts2,ibatis.
问题:我写了一个每天定时执行的方法,在myeclipse中只测试这个class文件是可以的,现在我想在web项目启动时就就加载这个class,执行里面的main方法,该怎么写?
我的class:
public class TestTimer {
/**
*
*/
private static final long serialVersionUID = 1L;
static int count = 0;
public static void showTimer() {
TimerTask task = new TimerTask() {
@Override
public void run() {
++count;
System.out.println("时间=" + new Date() + " 执行了" + count + "次"); // 1次
}
};
//设置执行时间
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);//每天
System.out.print("year:"+year+"month:"+month+"day:"+day);
System.out.print("_________________");
//定制每天的21:09:00执行,
calendar.set(year, month, day, 10, 18, 00);
Date date = calendar.getTime();
Timer timer = new Timer();
System.out.println(date);
timer.schedule(task, date);
}
public static void main(String[] args) {
showTimer();
System.out.print("*********************************************8");
}
}
我在web.xml中的配置:
<servlet>
<servlet-name>TestTimer</servlet-name>
<servlet-class>com.***********.action.TestTimer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
在listener中其中或者在spring的beanFactory(beans.xml)文件中配置