0

我有一个 POJO 文件,其中包含一个计时器函数,该函数在设置为计时器的指定时间执行一个函数。现在根据我的需要,我必须在文件中设置为计时器的时间运行此文件,但我不知道如何使用 apache tomcat 运行它。我的 POJO 文件存在于我的 Web 应用程序中。

我需要这个 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);
}
}

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

4

1 回答 1

1

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

如前所述,它将执行计时器。

杀死 ServletContext contextDestroy() 方法侦听器本身中的 Timer。

希望这对您有所帮助。

于 2013-11-11T07:05:49.523 回答