如何在Java代碼中使用SAP雲平臺CloudFoundry環境的環境變量
阿新 • • 發佈:2018-06-10
0.10 CI 4tb 對象 圖片 pps abap AC 例子
本文使用的例子源代碼在我的github上。
在我的公眾號文章在SAP雲平臺的CloudFoundry環境下消費ABAP On-Premise OData服務介紹了如何通過Cloud Connector連接ABAP On-Premise系統。
我創建了三個service的實例,詳情如上圖和下表:
服務類型 | 服務實例名稱 |
---|---|
connectivity | connectivity-jerry-demo |
destination | jerry-destination-lite |
xsuaa | xsuaa-jerry-demo |
這三個服務實例的名稱維護在應用的manifest.xml中。
將應用使用cf push部署到CloudFoundry之後,在Cockpit裏能觀察到生成的系統變量VCAP_SERVICES:
在Java代碼裏,使用如下代碼將該環境變量的值讀取出來存儲到字符串中。
private static final String VCAP_SERVICES = System.getenv("VCAP_SERVICES");
該Json對象的具體字段通過getJSONObject讀取出來。
下圖是connectivity實例的credentials明細:
要獲取更多Jerry的原創技術文章,請關註公眾號"汪子熙"或者掃描下面二維碼:
附錄
VCAP_SERVICES全部內容:
{
"VCAP_SERVICES": {
"xsuaa": [
{
"name": "xsuaa-jerry-demo",
"instance_name": "xsuaa-jerry-demo",
"binding_name": null,
"credentials": {
"uaadomain": "authentication.eu10.hana.ondemand.com",
"tenantmode": "dedicated",
"sburl": "https://internal-xsuaa.authentication.eu10.hana.ondemand.com",
"clientid": "sb-connectivity-jerry-demo!t3704",
"verificationkey": "-----BEGIN PUBLIC KEY-----MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwThn6OO9kj0bchkOGkqYBnV1dQ3zU/xtj7Kj7nDd8nyRMcEWCtVzrzjzhiisRhlrzlRIEY82wRAZNGKMnw7cvCwNixcfcDJnjzgr2pJ+5/yDZUc0IXXyIWPZD+XdL+0EogC3d4+fqyvg/BF/F0t2hKHWr/UTXE6zrGhBKaL0d8rKfYd6olGWigFd+3+24CKI14zWVxUBtC+P9Fhngc9DRzkXqhxOK/EKn0HzSgotf5duq6Tmk9DCNM4sLW4+ERc6xzrgbeEexakabvax/Az9WZ4qhwgw+fwIhKIC7WLwCEJaRsW4m7NKkv+eJR2LKYesuQ9SVAJ3EXV86RwdnH4uAv7lQHsKURPVAQBlranSqyQu0EXs2N9OlWTxe+FyNkIvyZvoLrZl/CdlYc8AKxRm5rn2/88nkrYQ0XZSrnICM5FRWgVF2hn5KfZGwtBN85/D4Yck6B3ocMfyX7e4URUm9lRPQFUJGTXaZnEIge0R159HUwhTN1HvyXrs6uT1ZZmW+c3p47dw1+LmUf/hIf8zd+uvHQjIeHEJqxjqfyA8yqAFKRHKVFrwnwdMHIsRap2EKBhHMfeVf0P2th5C9MggYoGCvdIaIUgMBX3TtCdvGrcWML7hnyS2zkrlA8SoKJnRcRF2KxWKs355FhpHpzqyZflO5l98+O8wOsFjGpL9d0ECAwEAAQ==-----END PUBLIC KEY-----",
"xsappname": "connectivity-jerry-demo!t3704",
"identityzone": "jerry",
"identityzoneid": "f3bd7f84-ebf1-4c11-b7c7-a278ebd54dcb",
"clientsecret": "WAxzZxYQCgB7Dkml8dFdU+kaLSE=",
"tenantid": "f3bd7f84-ebf1-4c11-b7c7-a278ebd54dcb",
"url": "https://jerry.authentication.eu10.hana.ondemand.com"
},
"syslog_drain_url": null,
"volume_mounts": [],
"label": "xsuaa",
"provider": null,
"plan": "application",
"tags": [
"xsuaa"
]
}
],
"connectivity": [
{
"name": "connectivity-jerry-demo",
"instance_name": "connectivity-jerry-demo",
"binding_name": null,
"credentials": {
"uaadomain": "authentication.eu10.hana.ondemand.com",
"onpremise_proxy_port": "20003",
"tenantmode": "dedicated",
"clientid": "sb-clone5282c913c9164bb284239adcc4d74210!b3704|connectivity!b17",
"verificationkey": "-----BEGIN PUBLIC KEY-----MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwThn6OO9kj0bchkOGkqYBnV1dQ3zU/xtj7Kj7nDd8nyRMcEWCtVzrzjzhiisRhlrzlRIEY82wRAZNGKMnw7cvCwNixcfcDJnjzgr2pJ+5/yDZUc0IXXyIWPZD+XdL+0EogC3d4+fqyvg/BF/F0t2hKHWr/UTXE6zrGhBKaL0d8rKfYd6olGWigFd+3+24CKI14zWVxUBtC+P9Fhngc9DRzkXqhxOK/EKn0HzSgotf5duq6Tmk9DCNM4sLW4+ERc6xzrgbeEexakabvax/Az9WZ4qhwgw+fwIhKIC7WLwCEJaRsW4m7NKkv+eJR2LKYesuQ9SVAJ3EXV86RwdnH4uAv7lQHsKURPVAQBlranSqyQu0EXs2N9OlWTxe+FyNkIvyZvoLrZl/CdlYc8AKxRm5rn2/88nkrYQ0XZSrnICM5FRWgVF2hn5KfZGwtBN85/D4Yck6B3ocMfyX7e4URUm9lRPQFUJGTXaZnEIge0R159HUwhTN1HvyXrs6uT1ZZmW+c3p47dw1+LmUf/hIf8zd+uvHQjIeHEJqxjqfyA8yqAFKRHKVFrwnwdMHIsRap2EKBhHMfeVf0P2th5C9MggYoGCvdIaIUgMBX3TtCdvGrcWML7hnyS2zkrlA8SoKJnRcRF2KxWKs355FhpHpzqyZflO5l98+O8wOsFjGpL9d0ECAwEAAQ==-----END PUBLIC KEY-----",
"xsappname": "clone5282c913c9164bb284239adcc4d74210!b3704|connectivity!b17",
"identityzone": "jerry",
"clientsecret": "nyiGD9QQSOZO+NTeEJdexWWjxYY=",
"tenantid": "f3bd7f84-ebf1-4c11-b7c7-a278ebd54dcb",
"url": "https://jerry.authentication.eu10.hana.ondemand.com",
"onpremise_proxy_host": "10.0.85.1"
},
"syslog_drain_url": null,
"volume_mounts": [],
"label": "connectivity",
"provider": null,
"plan": "lite",
"tags": [
"connectivity",
"conn",
"connsvc"
]
}
],
"destination": [
{
"name": "jerry-destination-lite",
"instance_name": "jerry-destination-lite",
"binding_name": null,
"credentials": {
"uaadomain": "authentication.eu10.hana.ondemand.com",
"tenantmode": "dedicated",
"clientid": "sb-clone39a01503ac1845fbbda5d5ffccb1a469!b3704|destination-xsappname!b404",
"instanceid": "39a01503-ac18-45fb-bda5-d5ffccb1a469",
"verificationkey": "-----BEGIN PUBLIC KEY-----MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwThn6OO9kj0bchkOGkqYBnV1dQ3zU/xtj7Kj7nDd8nyRMcEWCtVzrzjzhiisRhlrzlRIEY82wRAZNGKMnw7cvCwNixcfcDJnjzgr2pJ+5/yDZUc0IXXyIWPZD+XdL+0EogC3d4+fqyvg/BF/F0t2hKHWr/UTXE6zrGhBKaL0d8rKfYd6olGWigFd+3+24CKI14zWVxUBtC+P9Fhngc9DRzkXqhxOK/EKn0HzSgotf5duq6Tmk9DCNM4sLW4+ERc6xzrgbeEexakabvax/Az9WZ4qhwgw+fwIhKIC7WLwCEJaRsW4m7NKkv+eJR2LKYesuQ9SVAJ3EXV86RwdnH4uAv7lQHsKURPVAQBlranSqyQu0EXs2N9OlWTxe+FyNkIvyZvoLrZl/CdlYc8AKxRm5rn2/88nkrYQ0XZSrnICM5FRWgVF2hn5KfZGwtBN85/D4Yck6B3ocMfyX7e4URUm9lRPQFUJGTXaZnEIge0R159HUwhTN1HvyXrs6uT1ZZmW+c3p47dw1+LmUf/hIf8zd+uvHQjIeHEJqxjqfyA8yqAFKRHKVFrwnwdMHIsRap2EKBhHMfeVf0P2th5C9MggYoGCvdIaIUgMBX3TtCdvGrcWML7hnyS2zkrlA8SoKJnRcRF2KxWKs355FhpHpzqyZflO5l98+O8wOsFjGpL9d0ECAwEAAQ==-----END PUBLIC KEY-----",
"xsappname": "clone39a01503ac1845fbbda5d5ffccb1a469!b3704|destination-xsappname!b404",
"identityzone": "jerry",
"clientsecret": "QCnO+2k8gvUkdTyiCZI5rhzylbQ=",
"tenantid": "f3bd7f84-ebf1-4c11-b7c7-a278ebd54dcb",
"uri": "https://destination-configuration.cfapps.eu10.hana.ondemand.com",
"url": "https://jerry.authentication.eu10.hana.ondemand.com"
},
"syslog_drain_url": null,
"volume_mounts": [],
"label": "destination",
"provider": null,
"plan": "lite",
"tags": [
"destination",
"document"
]
}
],
"application-logs": [
{
"name": "jerry-log",
"instance_name": "jerry-log",
"binding_name": null,
"credentials": {},
"syslog_drain_url": "https://10.0.104.16:4433/syslogv2/ZmE4OTNmMjYtNjllZS00YTRhLWFhMDQtOGY4YWUwNjc2NDc1L2Nvbm5lY3Rpdml0eS1qZXJyeS1kZW1vLzY5YWJmZDQ2LWQyMjgtNDkwMy1iMjQ1LWRlODhjZWZmMzY0Mi9kZXYvMDE2ZGUwODktMDc0MS00NzlhLTgyOGEtNDVjNGVmMTY5MzUyL0kwNDI0MTZ0cmlhbF9qZXJyeS8wNWMyYzY0Ny1lYjYwLTQwYjQtYjhiYi02NTEyYTBlZmQ2NjIvYXBwbGljYXRpb24tbG9ncy8zZTQ2NmZjNi04MzNlLTQzMGEtYTVhMS1iOWFhMjMxOTUwYzgvbGl0ZS81MWYzYWE3Mi1lYzE4LTQ4YTgtYTVjNS1lNGJlMWVlMDQ2MTUvamVycnktbG9nLzA3Y2MwOWZlZTFmM2VjNDNhYWIzZmMzMTAwMzQ5NTMwYmIzMjJmODE0NDE1ZGI3MTBkM2JlM2NmMDliNTI4Mjc",
"volume_mounts": [],
"label": "application-logs",
"provider": null,
"plan": "lite",
"tags": []
}
]
}
}
{
"VCAP_APPLICATION": {
"cf_api": "https://api.cf.eu10.hana.ondemand.com",
"limits": {
"fds": 16384,
"mem": 512,
"disk": 1024
},
"application_name": "connectivity-jerry-demo",
"application_uris": [
"connectivity-jerry-demo-i042416.cfapps.eu10.hana.ondemand.com"
],
"name": "connectivity-jerry-demo",
"space_name": "dev",
"space_id": "69abfd46-d228-4903-b245-de88ceff3642",
"uris": [
"connectivity-jerry-demo-i042416.cfapps.eu10.hana.ondemand.com"
],
"users": null,
"application_id": "fa893f26-69ee-4a4a-aa04-8f8ae0676475",
"version": "d964d7cc-e067-4810-b834-25c995fe1bc5",
"application_version": "d964d7cc-e067-4810-b834-25c995fe1bc5"
}
}
要獲取更多Jerry的原創技術文章,請關註公眾號"汪子熙"或者掃描下面二維碼:
如何在Java代碼中使用SAP雲平臺CloudFoundry環境的環境變量