Как Spring MVC обрабатывает необработанные исключения, возникающие в контроллерах

Необходимо понимать, как Spring MVC обрабатывает неперехваченные исключения, если не существует обработчика неперехваченных исключений, явно предоставленного приложением. Может ли сценарий, в котором несколько одновременных запросов, все из которых вызывают необработанные исключения, повлиять на пул потоков Tomcat или привести к зависанию.

1 ответ

Ты можешь использовать @ControllerAdvice( подробнее):

Например:

@ControllerAdvice
public class ControllerExceptionHandler {

    @ExceptionHandler(value = AccessDeniedException.class)
    public ModelAndView accessDeniedError(HttpServletResponse response) {
        response.setStatus(HttpServletResponse.SC_FORBIDDEN);
        return new ModelAndView("/403");
    }

    @ExceptionHandler({SQLException.class,DataAccessException.class})
    public ModelAndView databaseError() {
        ....
    }

    ...

}
Другие вопросы по тегам