1
我想知道是否有一个示例如何为Spring Cloud Config创建自定义EnvironmentRepository,因为有git,svn,vault存储库,但我不想使用它们,我需要我的自定义一。例如,如果我只想将所有属性存储在Map中。Spring Cloud Config定制环境存储库
我想知道是否有一个示例如何为Spring Cloud Config创建自定义EnvironmentRepository,因为有git,svn,vault存储库,但我不想使用它们,我需要我的自定义一。例如,如果我只想将所有属性存储在Map中。Spring Cloud Config定制环境存储库
在您的应用程序上下文中提供EnvironmentRepository作为bean的实现。 Spring云配置服务器会自动提取它。 这里有一个简约的例子:
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,跳马,原生......),你想也想实现Ordered接口指定定单。
一个好方法是查找现有的EnvironmentRepository实现,如Spring云配置服务器包中的VaultEnvironmentRepository。
我还创建了一个带有ZooKeeper EnvironmentRepository的小型Maven库,用作Spring Cloud Config Server的即插即用依赖项。见github.com/felixoldenburg/JonesEnvironmentRepository –
我想在这里类似的东西 - 但不工作。请参阅https://stackoverflow.com/questions/48762915/custom-spring-config-environmentrepository-not-being-picked-up –