0
我有一个spring mvc应用程序,我们使用jetty对它进行测试。spring mvc:检测加载上下文时是否抛出异常
有时上下文的加载完全失败,因为坏的xml或因为Class Not Found异常或因为bean在构造函数,setter或init方法中抛出异常。
在这种情况下,我想通过System.exit(1)
停止申请或采取其他一些激烈措施,并且没有进一步的测试周期。
如何做到这一点?
我有一个spring mvc应用程序,我们使用jetty对它进行测试。spring mvc:检测加载上下文时是否抛出异常
有时上下文的加载完全失败,因为坏的xml或因为Class Not Found异常或因为bean在构造函数,setter或init方法中抛出异常。
在这种情况下,我想通过System.exit(1)
停止申请或采取其他一些激烈措施,并且没有进一步的测试周期。
如何做到这一点?
你是如何加载上下文的?通过上下文监听器?定义你自己的(扩展的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);
}
}
我没有自己加载上下文。分派器Servlet执行它。 – flybywire 2009-10-07 18:02:51
@flybywire - 这就是为什么我问你的上下文是如何初始化的。查看我的更新。 – ChssPly76 2009-10-07 18:24:41