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




Пример кода вашей реализации отсутствует.
Но ваша проблема, похоже, не является проблемой, поскольку именно так должны работать БД в памяти.
Эти Dbs (H2, Hsql) используются для тестирования и не подходят для производства, но если вам нужны небольшие данные, то это абсолютно нормально.
Также (hbm2ddl: create-drop or hbm2ddl: create)
Здесь, при этом, он всегда будет воссоздавать базу данных после перезапуска службы.
измените это на
(hbm2ddl: update)Синтаксис может быть неправильным.
Также принимая во внимание, что вы используете спящий режим
Я думаю, что исполнительный механизм предназначен для разных вещей, в основном для понимания того, что происходит в экземпляре микросервиса во время выполнения.
/actuator/refresh
действительно управляет bean-компонентами с помощью Refresh Scope, он просто воссоздает их без воссоздания всего контекста приложения (что может быть дорогостоящей операцией), если конфигурации изменились (например, в облачной службе конфигурации весенней загрузки).
Таким образом, это не имеет ничего общего с жизненным циклом H2 DataSource, который действительно используется в основном для тестов, как любезно заявил наш коллега Шубхам, и это делает вопрос еще более запутанным :)