2
我使用tomcat 7.0.23和spring 3.0.5+。如果應用程序已成功啓動或失敗,我想生成事件。我可以生成成功的事件:我創建豆ProductPostInitializer implements InitializingBean
這取決於我的服務bean,如果方法afterPropertiesSet調用我生成成功的事件。如何在tomcat應用程序不啓動時創建錯誤事件
如何生成錯誤事件?
我使用tomcat 7.0.23和spring 3.0.5+。如果應用程序已成功啓動或失敗,我想生成事件。我可以生成成功的事件:我創建豆ProductPostInitializer implements InitializingBean
這取決於我的服務bean,如果方法afterPropertiesSet調用我生成成功的事件。如何在tomcat應用程序不啓動時創建錯誤事件
如何生成錯誤事件?
public class NotifyingContextLoaderListener extends ContextLoaderListener {
@Override
public void contextInitialized(ServletContextEvent event) {
try {
super.contextInitialized(event);
//generate success event
}
catch (RuntimeException e) {
//generate failure event
throw e;
}
}
}
而且用它在你的web.xml
,而不是ContextLoaderListener
:
<listener>
<listener-class>com.example.NotifyingContextLoaderListener</listener-class>
</listener>
請注意,您的成功產生事件的解決方案是不是完全安全的。當成功創建ProductPostInitializer
bean時,它會生成事件,而不是整個應用程序/上下文。這意味着即使上下文啓動後失敗也可以生成事件(例如,豆類取決於ProductPostInitializer
無法啓動)。
上面的解決方案解決了這個問題。