Использование Config Server для приложения Jmix

Добрый день, коллеги!

Подскажите, пожалуйста, как решить следующую задачу: мы используем Jmix для разработки приложения с микросервисной архитектурой и хотим воспользоваться Spring Cloud стартером Spring Cloud Config для настройки сервера конфигурации. Сам Config-сервер поднят как обычное Spring Boot-приложение на http://localhost:8888, оно загружает application.properties-файл из репозитория GitLab, всё работает корректно.

Проблема возникает, когда я пытаюсь сделать из Jmix-приложения Config-клиент, который должен получать эти самые свойства из клиента.

Как только я добавляю в build.gradle зависимости:

implementation ‘org.springframework.cloud:spring-cloud-starter-config’
implementation ‘org.springframework.cloud:spring-cloud-starter-bootstrap’

и создаю bootstrap.properties со следующими свойствами:

spring.application.name = tdp_main
spring.cloud.config.uri = http://localhost:8888
management.security.enabled=false

то я получаю доступ к application.properties-файлу Config-сервера, но приложение сразу же перестаёт видеть messages_ru.properties-файл в проекте и слетает вся локализация (видимо система пытается его искать в Git-репозитории Config-сервера?) и приложение выглядит так:

image

Я пробовал создавать messages_ru.properties в репозитории - всё равно локализация не подтягивается, пробовал указывать разные параметры в bootstrap.properties, например:

spring.profiles.include=messages_ru
spring.profiles.active=messages_ru

также пробовал указать на Config Server:

spring.cloud.config.allowOverride=true

результат такой же.

Подскажите пожалуйста, есть ли какие-то варианты в Jmix использовать Config Server от Spring Cloud для управления свойствами приложения, не ломая при этом локализацию? Что необходимо прописать, чтобы сказать Jmix-приложению, что messages_ru.properties-файл необходимо по-прежнему искать в Rosurce Bundle самого проекта, а не где-то в другом месте?

Начиная с Spring Boot 2.4 Config Server подключается иначе: см Spring Cloud Config

То есть, нет никакого bootstrap.properties
В application.properties добавляется:

spring.config.import=optional:configserver:http://myconfigserver.com

И будет достаточно только стартера:

implementation 'org.springframework.cloud:spring-cloud-starter-config'

Стартер лишний org.springframework.cloud:spring-cloud-starter-bootstrap. Поскольку Spring Cloud говорит о том, что bootstrap режим сейчас условно deprecated.

Попробуйте запустить в такой конфигурации, возможно проблем с локализацией не будет.

3 симпатии

Да, видимо я пытался подключить Config-клиент по устаревшей инструкции. Без файла bootstrap.properties всё заработало.
Спасибо за ответ!