У меня есть приложение JSF со слоем DAO, реализованным для Hibernate (также используется Spring для управления транзакциями).
Проблема, с которой я сталкиваюсь, заключается в том, что иногда база данных отключается, и когда это происходит, я хочу, чтобы приложение JSF перенаправило на страницу «Потерянное соединение с базой данных».
Есть два подхода, которые я могу придумать, чтобы справиться с этим:
(1) прослушиватель фазы, который проверяет соединение с базой данных при каждом запросе и перенаправляет, если базы данных нет; (за исключением того, что означает дополнительный запрос к базе данных при каждом запросе веб-приложения)
(2) каждый метод в каждом DAO выдает какой-то "NoDBConnectionExcepiton", перехватывает это исключение в компонентах и перенаправляет туда (за исключением того, что это означает написание большого количества кода обработки исключений)
У кого-нибудь есть идеи? Предложения и советы приветствуются!
Rob