У меня есть файлы конфигурации в формате HOCON (.conf
). Я хотел бы использовать Spring Cloud Config для извлечения их из репозитория BitBucket и отправки их в приложение (которое НЕ является приложением Spring) при его загрузке.
Я использую функцию "Обслуживание простого текста" Spring Cloud Config для извлечения и обслуживания одного файла HOCON, который определяет конкретную среду. Например, клиентское приложение запрашивает файл конфигурации среды development.conf
, и, указав его точный путь в репозитории BitBucket, скажем, myApp/development/master/development.conf
, клиент получает этот открытый текстовый файл.
Однако, как обычно, желательно, чтобы базовые свойства из base.conf
были включены в development.conf
и имели значения, переопределенные значениями свойства dev enviroment, если в обоих файлах есть общие свойства.
Ранее сервер конфигурации не был и поэтому, просто написав команду include "base"
в верхней части файла development.conf
, анализатор HOCON (часть библиотеки TypeSafe) в клиентском приложении запросил файл base.conf
(оба файла находятся в локальных каталогах), и делал переопределение при необходимости.
При включении сервера Spring Config, development.conf
может быть получен в виде простого текста, как уже упоминалось, но только (как и прежде) на стороне клиента приложение анализирует include "base"
, а затем повторно получает файл base.conf
. Это делает фазу загрузки приложения очень медленной (вероятно), потому что выборка дополнительных файлов требует дополнительной авторизации в BitBucket.
Вопрос: как сделать это быстрее?
Я пробовал spring.cloud.config.server.git.cloneOnStart: true
, но это, по-видимому, не имеет никакого улучшения (может быть, я использую это неправильно?)
Стоит ли рассматривать преобразование формата .conf
в формат .properties
и использование свойства spring.profiles.include: base
в верхней части нового developement.properties
file?
Возможно, встроить сервер Spring в другое приложение Spring Boot?
Мне нравится переопределение свойств и функция включения Spring Cloud. Я просто не знаю, как заставить его работать с файлами в формате HOCON.