Пружинный привод обновляется и в памяти, дБ - PullRequest
0 голосов
/ 16 января 2019

Есть ли способ как-то настроить обновление привода spring-boot (2.1.1) или hikari / datasource, чтобы он повторно выполнял логику, ответственную за создание базы данных памяти (например, h2)? На данный момент после / привод / обновления у меня больше нет ранее созданных таблиц (hbm2ddl: create-drop или hbm2ddl: create).

Ответы [ 2 ]

0 голосов
/ 17 января 2019

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

/actuator/refresh

действительно управляет bean-компонентами с помощью Refresh Scope, он просто воссоздает их без воссоздания всего контекста приложения (что может быть дорогостоящей операцией), если конфигурации изменились (как в сервисе конфигурации весенней загрузки облака).

Так что это не имеет никакого отношения к жизненному циклу H2 DataSource, который действительно используется главным образом для тестов, как любезно заявил наш коллега Шубхам, и это делает вопрос еще более запутанным:)

0 голосов
/ 17 января 2019

Нет примера кода вашей реализации. Но ваша проблема, кажется, не проблема, поскольку именно так должны работать БД в памяти. Эти базы данных (H2, Hsql) используются для тестирования и не являются предпочтительными для производства, но если вам нужны небольшие данные, то это абсолютно нормально. Кроме того,
(hbm2ddl: create-drop or hbm2ddl: create)

Здесь, с этим он всегда будет воссоздавать БД после перезапуска службы. изменить на (hbm2ddl: update) Синтаксис может быть неправильным .

Также учитывая, что вы используете спящий режим

...