如何查找绑定到应用程序

时间:2018-04-28 08:19:24

标签: spring-boot spring-cloud cloudfoundry

我想使用spring-boot,spring-cloud将所有DataSource绑定到云代工厂应用程序。 有没有办法获得清单? 如果我可以获得服务名称,我也可以使用

AbstractCloudConfig.connectionFactory().dataSource(serviceId)

创建DataSource。

2 个答案:

答案 0 :(得分:2)

您可以执行以下操作来枚举数据库服务列表,并为每个服务获取DataSource

Cloud cloud = abstractCloudConfig.cloud();
List<ServiceInfo> serviceInfos = cloud.getServiceInfos(DataSource.class);
List<DataSource> dataSources = new ArrayList<>();
for (ServiceInfo serviceInfo : serviceInfos) {
    dataSources.add(cloud.getServiceConnector(serviceInfo.getId, null));
}

答案 1 :(得分:0)

DataSources配置在Cloud Foundry中的“VCAP_SERVICES”变量内的容器环境中设置。 System.getenv('VCAP_SERVICES')应列出您案例中的所有数据源。

参考: https://docs.run.pivotal.io/devguide/deploy-apps/environment-variable.html#VCAP-SERVICES