SpringCloudConfig自定义环境存储库

SpringCloudConfig自定义环境存储库,spring,spring-cloud-config,Spring,Spring Cloud Config,我想知道有没有一个例子如何为SpringCloud配置创建自定义环境存储库,因为有git、svn和vault存储库,但我不想使用它们,我需要我的自定义存储库。例如,如果我只想将所有属性存储在一个映射中。在应用程序上下文中以bean的形式提供EnvironmentRepository的实现。然后SpringCloudConfigServer将自动获取它。 下面是一个极简主义的例子: public class CustomEnvironmentRepository implements Envir

我想知道有没有一个例子如何为SpringCloud配置创建自定义环境存储库,因为有git、svn和vault存储库,但我不想使用它们,我需要我的自定义存储库。例如,如果我只想将所有属性存储在一个映射中。

在应用程序上下文中以bean的形式提供EnvironmentRepository的实现。然后SpringCloudConfigServer将自动获取它。 下面是一个极简主义的例子:

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;
    }
}
公共类CustomEnvironmentRepository实现
环境知识库
{
@凌驾
公共环境findOne(字符串应用程序、字符串配置文件、字符串标签)
{
环境=新环境(应用程序、配置文件);
最终地图属性=loadYouProperties();
添加(新的PropertySource(“mapPropertySource”,properties));
回归环境;
}
}
注意:如果您有多个EnvironmentRepository(Git、Vault、Native…),您还需要实现Ordered接口来指定订单


一种很好的方法是从Spring cloud config server包中查找现有的EnvironmentRepository实现,如。我还创建了一个带有ZooKeeper EnvironmentRepository的小型maven库,用作Spring cloud config server的即插即用依赖项。请参阅github.com/felixoldenburg/jonesenvironmentrepository我正在尝试类似的方法,但不起作用。请参阅,我使用了自定义环境存储库,但配置服务器不再加载本机或git环境属性,只加载自定义环境属性。我想加载自定义+本机/git。任何想法请确保配置文件处于活动状态:SPRING\u profiles-active=git,keyvault