如何在Apache Tomcat中使用计时器部署POJO文件

时间:2013-11-11 06:37:52

标签: java tomcat servlets timer

我有一个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);
}
}

请帮帮我,因为这对我来说是一个障碍.. 提前谢谢..

1 个答案:

答案 0 :(得分:1)

基本上你需要一些地方来启动计时器。我的建议是使用ServletContext监听器在contextInitialized()方法中加载计时器。

它将执行所述的计时器。

在ServletContext contextDestroy()方法监听器本身中杀死Timer。

希望这会对你有所帮助。