Java 如何使静态块运行?
我已经看到了很多关于这个话题的答案,但仍然找不到一个干净的解决方案Java 如何使静态块运行?,java,timer,Java,Timer,我已经看到了很多关于这个话题的答案,但仍然找不到一个干净的解决方案 public class ProcessScheduler { static { Timer timer=new Timer(); timer.scheduleAtFixedRate(new TimerTask() { public void run() { LogProcessorServiceImpl.processPageReq
public class ProcessScheduler {
static {
Timer timer=new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
LogProcessorServiceImpl.processPageRequestsLogs();
}
}, 0, 120);
}
}
我如何执行该计划并对高质量的解决方案感到满意?我的应用程序基于Spring(不幸的是),我知道我可以在我的一个控制器中引用这个类,它可能会工作。但这很愚蠢。一定有更好的办法。我在Tomcat上,没有EJB支持,所以计时器注释对我来说不起作用。另外,我不想做CRON。我想在此计划程序类中计划所有维护任务
Servlet类可以通过web.xml(1)加载。我们可以在非servlet类上执行类似的操作吗?与其在静态块中编写,不如
- 写一个扩展
- 将这段代码移到方法中
- 定义取消计时器的方法
- 在我的应用程序的
文件中将类配置为web.xml
<listener> <listener-class> com.vikdor.webapps.ProcessSchedulerListener </listener-class> </listener>
com.vikdor.webapps.ProcessSchedulerListener
- 写一个扩展
- 将这段代码移到方法中
- 定义取消计时器的方法
- 在我的应用程序的
文件中将类配置为web.xml
<listener> <listener-class> com.vikdor.webapps.ProcessSchedulerListener </listener-class> </listener>
com.vikdor.webapps.ProcessSchedulerListener
- 与其将其写入静态块,我更愿意