Spring boot: создание экземпляра bean-компонента Spring (embeddedDB) до запуска сценариев в Liquibase - PullRequest
0 голосов
/ 27 февраля 2019

У нас есть служба весенней загрузки, которая использует реляционную БД.Тем не менее, при запуске приложения весенней загрузки в «локальном» профиле мы использовали H2 в памяти db.Но теперь мы хотим вращать фактическую базу данных в памяти вместо H2.

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

@Bean
@Profile("local")
public EmbeddedDb embeddedDb() {
   // spin new database here

}

У нас проблемы с запуском приложения в локальном режиме.У нас есть несколько сценариев liquibase, и приложение всегда пытается запустить сценарии liquibase перед созданием экземпляра bean-компонента embeddedDb, который создает новую базу данных.Там мы получаем следующую ошибку.

{"@ timestamp": "2019-02-27T15: 33: 45.050 + 00: 00", "@ version": "1", "message": «Запуск приложения не выполнен», «имя_сервера»: «org.springframework.boot.SpringApplication», «имя_потока»: «main», «level»: «ERROR», «level_value»: 40000, «stack_trace»: «org.springframework.beans.factory.BeanCreationException: Ошибка при создании компонента с именем 'liquibase', определенным в ресурсе пути к классу [org / springframework / boot / autoconfigure / liquibase / LiquibaseAutoConfiguration $ LiquibaseConfiguration.class]:

Мы не можемдобавьте Spring в «зависит от», потому что «liquibase» - это автоматически конфигурируемый компонент.

Каков наилучший способ раскрутить базу данных перед запуском сценариев liquibase?

...