1
我有一個簡單的Java應用程序(不是春天),它想從雲代工廠env變量VCAP_SERVICES獲取亞馬遜RDS數據庫參數。我正在使用下面的代碼,但無法訪問任何數據庫。無法讀取一個簡單的Java程序(不使用彈簧)的雲代工環境變量
我正在嘗試圖書館主頁上提供的示例代碼之一。
Cloud Foundry的應用程序日誌:
2017-08-28T14:15:44.952-07:00 [APP/PROC/WEB/0] [ERR] WARNING: No suitable service info creator found for service employee-maria-rds. Did you forget to add a ServiceInfoCreator?
2017-08-28T14:15:44.952-07:00 [APP/PROC/WEB/0] [ERR] Aug 28, 2017 9:15:44 PM org.springframework.cloud.AbstractCloudConnector getServiceInfo
Java應用程序:
public class App {
public static void main (String args[]) throws InterruptedException, SQLException {
CloudFactory cloudFactory = new CloudFactory();
Cloud cloud = cloudFactory.getCloud();
// ServiceInfo has all the information necessary to connect to the underlying service
List<ServiceInfo> serviceInfos = cloud.getServiceInfos();
for (ServiceInfo serviceInfo : serviceInfos) {
if (serviceInfo instanceof RelationalServiceInfo) {
System.out.println(((RelationalServiceInfo) serviceInfo).getJdbcUrl());
}
}}}
上面的代碼將打印什麼。
Cloud Foundry的信封變量:
{
"staging_env_json": {},
"running_env_json": {},
"system_env_json": {
"VCAP_SERVICES": {
"mariaDB": [
{
"credentials": {
"uri": "jdbc:mysql://db1.us-east-1.rds.amazonaws.com:3306/employee",
"username": "xxxx",
"password": "xxxx",
"host": "db1.us-east-1.rds.amazonaws.com",
"port": "3306",
"database": "employee"
},
"syslog_drain_url": null,
"volume_mounts": [],
"label": "mariaDB",
"provider": null,
"plan": "Medium-Plan",
"name": "employee-maria-rds",
"tags": []
},
{
"credentials": {
"uri": "jdbc:mysql://db2.us-east-1.rds.amazonaws.com:3306/hcm",
"username": "xxxx",
"password": "xxxx",
"host": "db2.us-east-1.rds.amazonaws.com",
"port": "3306",
"database": "hcm"
},
"syslog_drain_url": null,
"volume_mounts": [],
"label": "mariaDB",
"provider": null,
"plan": "Small-Plan",
"name": "hcm-maria-db",
"tags": []
}
]
}
},
"application_env_json": {
"VCAP_APPLICATION": {
"cf_api": "https://apps.abc.com",
"limits": {
"fds": 16384,
"mem": 256,
"disk": 256
},
"application_name": "java-main-application",
"application_uris": [],
"name": "java-main-application",
"space_name": "development",
"space_id": "a8844960-4d08-4d80-b589-4ea1473ed0bb",
"uris": [],
"users": null,
"application_id": "004sdf3ef-3d7a-44d6-81d5-a04bwetf62e07",
"version": "c31234g56-4f42-4454-b30e-540sdghh684d6",
"application_version": "d2ggd656-4f42-4434-b30e-54g2348684d6"
}
}
}
的pom.xml:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-cloudfoundry-connector</artifactId>
<version>1.2.4.RELEASE</version>
</dependency>
通過https://github.com/spring-cloud/spring-cloud-connectors/issues/210回答問題 –