Мне интересно, есть ли пример того, как создать собственный репозиторий среды для Spring Cloud Config, потому что есть репозитории git, svn, vault, но я не хочу их использовать, мне нужен свой собственный. Например, если я просто хочу сохранить все свойства на карте.
Репозиторий пользовательской среды Spring Cloud Config
Ответы (1)
Предоставьте реализацию EnvironmentRepository в виде bean-компонента в контексте вашего приложения. Затем сервер конфигурации Spring Cloud подберет его автоматически. Вот минималистичный пример:
public class CustomEnvironmentRepository implements
EnvironmentRepository
{
@Override
public Environment findOne(String application, String profile, String label)
{
Environment environment = new Environment(application, profile);
final Map<String, String> properties = loadYouProperties();
environment.add(new PropertySource("mapPropertySource", properties));
return environment;
}
}
Обратите внимание, что если у вас есть несколько EnvironmentRepository (Git, Vault, Native...), вы также захотите реализовать интерфейс Ordered для указания порядка.
Хорошим подходом является поиск существующей реализации EnvironmentRepository, такой как VaultEnvironmentRepository из пакета Spring Cloud Config Server.
person
Felix Oldenburg
schedule
13.09.2017
Я также создал небольшую библиотеку maven с ZooKeeper EnvironmentRepository, которую можно использовать в качестве подключаемой зависимости для Spring Cloud Config Server. См. github.com/felixoldenburg/JonesEnvironmentRepository.
- person Felix Oldenburg; 17.09.2017
Я пытаюсь что-то подобное здесь - но не работает. См. stackoverflow.com /вопросы/48762915/
- person Vinay B; 13.02.2018
Я использовал пользовательский репозиторий среды, но сервер конфигурации больше не загружает собственные свойства среды или git, загружаются только пользовательские свойства среды. Я хочу загрузить пользовательский + нативный/git. Любые идеи, пожалуйста
- person Komoo; 05.04.2019
Убедитесь, что профили активны: SPRING_PROFILES-ACTIVE=git,keyvault
- person Daniel Hilgarth; 04.07.2020