我有一个POJO文件,其中包含一个定时器函数,该函数在指定的时间执行一个函数设置为timer.Now根据我的需要,我必须在文件中设置的时间运行此文件作为计时器,但我没有想法如何使用apache tomcat运行它。我的Web应用程序中存在我的POJO文件。
我是否需要此POJO文件或需要servlet?
这是POJO文件代码..
class ReportGenerator extends TimerTask {
@Override
public void run() {
System.out.println("Generating report");
//TODO generate report
}
}
class MainApplication {
public static void main(String[] args) {
settimer();
}
public static void settimer() {
Timer timer = new Timer();
Calendar date = Calendar.getInstance();
date.set(
Calendar.DAY_OF_WEEK,
Calendar.MONDAY);
date.set(Calendar.HOUR, 11);
date.set(Calendar.MINUTE, 51);
date.set(Calendar.SECOND, 0);
date.set(Calendar.MILLISECOND, 0);
// Schedule to run every MONDAY.
timer.schedule(
new ReportGenerator(),
date.getTime(),
1000 * 60 * 60 * 24 * 7);
}
}
请帮帮我,因为这对我来说是一个障碍.. 提前谢谢..
答案 0 :(得分:1)
基本上你需要一些地方来启动计时器。我的建议是使用ServletContext监听器在contextInitialized()方法中加载计时器。
它将执行所述的计时器。
在ServletContext contextDestroy()方法监听器本身中杀死Timer。
希望这会对你有所帮助。