Выполните поиск JNDI, когда база данных доступна весной

Во-первых, позвольте мне заранее поблагодарить вас за ваше время. Позвольте мне представить мой вопрос:

У меня есть приложение spring с «необязательным» источником данных, который выполняет поиск jndi «ленивым способом» (lookupOnStartup: false ). Логически, когда источник данных необходим, взгляд jndi сделан.

Но что произошло, когда поиск lazylly сделано, и база данных недоступна: JndiLookupFailureException rised. Право.

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

И вот мой вопрос: есть ли какой-либо способ определить, что база данных работает и для поиска снова, чтобы избавиться от исключения??

Большое спасибо за ваше время!

1 ответ

  1. К сожалению, это невозможно.

    Вы можете создать свою собственную реализацию DataSourcewho реализует составной шаблон и переключаться между реальной базой данных, если она доступна или пустой HSQLDB-Database inmemory. Да, Connectionpool может быть заполнен HSQLDB-Connections, даже если база данных будет доступна после поиска, но в этом случае вам нужно перезагрузить веб-приложение.