spring mvc:检测加载上下文时是否抛出了异常

时间:2009-10-07 17:46:50

标签: java spring exception-handling spring-mvc

我有一个spring mvc应用程序,我们使用jetty运行测试。

有时加载上下文完全失败,因为错误的xml或者因为Class Not Found异常,或者因为bean在构造函数,setter或init方法中抛出异常。

在这种情况下,我想用System.exit(1)停止应用程序或采取其他一些严厉的措施,而不是让测试周期继续下去。

怎么办呢?

1 个答案:

答案 0 :(得分:3)

你是如何加载上下文的?通过上下文监听器?定义自己的(扩展ContextLoaderListener并覆盖contextInitialized())并在上下文初始化失败时调用System.exit(1):

@Override
public void contextInitialized(ServletContextEvent event) {
    try {
      super.contextInitialized(event);
    } catch (Throwable T) {
      T.printStackTrace();
      System.exit(1);
    }
}

更新对于DispatcherServlet,使用相同的方法但覆盖initWebApplicationContext()方法:

@Override
protected WebApplicationContext initWebApplicationContext() throws BeansException {
    try {
      super.initWebApplicationContext();
    } catch (Throwable T) {
      T.printStackTrace();
      System.exit(1);
    }
}