是否有任何機制,生命週期事件或回調在春季或tomcat通知一旦tomcat服務器sartup完成(我有8個Web應用程序和隊列配置,我寧願收到通知回到每個應用程序一旦所有應用程序啓動)。我知道Spring有應用程序監聽器,可以在Web應用程序初始化後使用。但是我不能在我的情況下使用它,因爲一旦所有的Web應用程序初始化,我都希望收到通知。回覆tomcat服務器啓動完成
** EDITED * * *
我添加實施的Tomcat監聽器記錄消息。但我絕對沒有想法在哪裏鉤住這個聽衆。
我試着用spring創建這個bean,並且通過向web.xml添加監聽器都沒有工作。
這裏是我的代碼
public class KPTomcatListener implements LifecycleListener {
private static final Logger LOG= LoggerFactory.getLogger(KPTomcatListener .class);
/**
* All the events of tomcat
* AFTER_START_EVENT,
* AFTER_STOP_EVENT,
* BEFORE_START_EVENT,
* BEFORE_STOP_EVENT,
* DESTROY_EVENT,
* INIT_EVENT,
* PERIODIC_EVENT,
* START_EVENT,
* STOP_EVENT
*/
private static int counter;
@Override
public void lifecycleEvent(LifecycleEvent arg0) {
String event = arg0.getType();
LOG..debug("Tomcat Envents: "+ (++counter) + " :: "+ event);
if(event.equals("AFTER_START_EVENT")){
LOG..debug("Hey I've started");
}
}
}
可能的重複[Java EE企業應用程序:對部署/啓動執行一些操作](http://stackoverflow.com/questions/6120831/java-ee-enterprise-application-perform-some-action-on-deploy -startup)你可以使用WebContextListener來給你確切的東西 –
@JigarJoshi一個'ServletContextListener'在任何'Filter'或'Servlet'實例被初始化之前運行。我認爲OP需要整個Web應用程序。 –
@Sot我不認爲OP想要初始化所有的servlet和過濾器,認爲有些url模式只在某些情況下才會被命中(例如,用戶是admin並登錄)那個特定的servlet將如何(如果已配置)將被加載,而不會試圖敲那個URL –