Java 如何在tomcat应用程序不运行时创建错误事件';t启动
我使用tomcat 7.0.23和spring 3.0.5+。我想在应用程序启动成功或失败时生成事件。我可以生成成功的事件:我创建beanJava 如何在tomcat应用程序不运行时创建错误事件';t启动,java,spring,tomcat,Java,Spring,Tomcat,我使用tomcat 7.0.23和spring 3.0.5+。我想在应用程序启动成功或失败时生成事件。我可以生成成功的事件:我创建beanProductPostInitializer实现InitializingBean,这取决于我的服务bean,如果方法afterPropertiesSet调用,我将生成成功的事件 如何生成错误事件?子类: 并在web.xml中使用它,而不是: com.example.NotifyingContextLoaderListener 请注意,生成成功事件的解决方案
ProductPostInitializer实现InitializingBean
,这取决于我的服务bean,如果方法afterPropertiesSet调用,我将生成成功的事件
如何生成错误事件?子类:
并在web.xml
中使用它,而不是:
com.example.NotifyingContextLoaderListener
请注意,生成成功事件的解决方案并非完全安全。它在成功创建ProductPostInitializer
bean时生成事件,而不是在整个应用程序/上下文中。这意味着即使之后上下文启动失败(例如,bean取决于ProductPostInitializer
启动失败),也可以生成事件
上述解决方案解决了这个问题
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;
}
}
}
<listener>
<listener-class>com.example.NotifyingContextLoaderListener</listener-class>
</listener>