Spring Cloud Config 自定义环境存储库
Spring Cloud Config custom environment repository
我想知道是否有一个示例如何为 Spring Cloud Config 创建自定义 EnvironmentRepository,因为有 git、svn、vault 存储库,但我不想使用它们,我需要我的定制。例如,如果我只想将所有属性存储在地图中。
在您的应用程序上下文中提供 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、Vault、Native...),您还需要实现 Ordered 接口来指定顺序。
一个好的方法是从 Spring 云配置服务器包中查找现有的 EnvironmentRepository 实现,例如 VaultEnvironmentRepository。
我想知道是否有一个示例如何为 Spring Cloud Config 创建自定义 EnvironmentRepository,因为有 git、svn、vault 存储库,但我不想使用它们,我需要我的定制。例如,如果我只想将所有属性存储在地图中。
在您的应用程序上下文中提供 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、Vault、Native...),您还需要实现 Ordered 接口来指定顺序。
一个好的方法是从 Spring 云配置服务器包中查找现有的 EnvironmentRepository 实现,例如 VaultEnvironmentRepository。