spring mvc: определить, было ли выброшено исключение при загрузке контекста - PullRequest
0 голосов
/ 07 октября 2009

У меня есть приложение Spring mvc, и мы запускаем тесты на нем, используя причал.

Иногда загрузка контекста полностью завершается сбоем из-за плохого xml или из-за исключения Class Not Found или из-за того, что bean-компонент генерирует исключение в конструкторе, сеттере или методе init.

В таком случае я хотел бы остановить приложение с помощью System.exit(1) или предпринять какие-то другие радикальные меры и не допустить продолжения цикла испытаний.

Как это можно сделать?

1 Ответ

3 голосов
/ 07 октября 2009

Как вы загружаете контекст? Через контекстный слушатель? Определите свой собственный (расширьте 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);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...