我在這個主題上看到了很多答案,但仍找不到一個乾淨的解決方案。如何使靜態塊運行?
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類上做類似的事嗎?
靜塊上執行類的負載。它會在加載時執行,如果你不想要,你可能需要做一些類似於方法和調用的事情,那就是你想要的。 – kosa
方法調用仍然需要在其他地方引用此類。這同樣很髒。這個調度程序應該是完全自治的。 – jacekn
@jacekn,爲什麼你的應用在春季運行不幸? Spring提供穩健的調度 – kolossus