Java 如何在tomcat应用程序不运行时创建错误事件';t启动

Java 如何在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 请注意,生成成功事件的解决方案

我使用tomcat 7.0.23和spring 3.0.5+。我想在应用程序启动成功或失败时生成事件。我可以生成成功的事件:我创建bean
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>