如何导致静态块运行?

时间:2012-11-18 03:24:31

标签: java timer

我已经看到很多关于这个主题的答案,但仍然找不到一个干净的解决方案。

public class ProcessScheduler {
    static {
        Timer timer=new Timer();
        timer.scheduleAtFixedRate(new TimerTask() {
            public void run() {
                LogProcessorServiceImpl.processPageRequestsLogs();
            }
        }, 0, 120);
    }
} 

如何执行此操作并对质量解决方案感到满意?我的应用程序基于Spring(不幸的是),我知道我可以在我的一个控制器中引用这个类,它可能会工作。但那太傻了。必须有一个更好的方法。我在Tomcat上没有EJB支持,因此定时器注释对我不起作用。另外,我不想做CRON。我想在此调度程序类中安排所有维护任务。

可以通过web.xml(1)加载Servlet类。我们可以在非servlet类上做类似的事情吗?

1 个答案:

答案 0 :(得分:5)

而不是在静态块中写这个,我宁愿