Проверка доступности базы данных с помощью Spring MVC для принудительного перенаправления

#java #spring #spring-mvc

#java #spring #spring-mvc

Вопрос:

Я внедряю Spring MVC, но хотел бы перенаправить, если одна из моих баз данных отключится. Есть ли какой-нибудь простой способ проверить это? Приложение использует несколько баз данных (одну для аутентификации и т.д.), Поэтому мне нужен изящный способ решения проблем с базой данных.

Спасибо,

Ответ №1:

Для каждого dataSource запуска что-то вроде:

 new JdbcTemplate(dataSource).queryForInt("SELECT 1").
  

Ваш dataSource может быть настроен на проверку соединения перед его возвратом, поэтому в некоторых случаях он даже не достигнет запроса, когда база данных отключена. Чтобы упростить код, оберните этот код в aspect вокруг всех ваших контроллеров.

Более чистым, но немного менее гибким решением является использование некоторого пользовательского средства отображения исключений, которое будет перехватывать исключения базы данных (Spring предоставляет хороший уровень абстракции исключений JDBC) и перенаправлять соответствующим образом.

Ответ №2:

Попробуйте подключиться к базе данных, и если вы не можете, то перенаправьте.