如何在Java代码中使用SAP云平台CloudFoundry环境的环境变量
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,本文使用的例子源代码在我的github上。在我的公众号文章在SAP云平台的CloudFoundry环境下消费ABAP On-Premise OData服务介绍了如何通过Cloud Connector连
千家信息网最后更新 2025年02月04日如何在Java代码中使用SAP云平台CloudFoundry环境的环境变量
本文使用的例子源代码在我的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+uvHQjIeHEJqxjqfyA8yqAFKRHKVFrwnwdMHIsRap2EKBhHMfeVf0P2th6C9MggYoGCvdIaIUgMBX3TtCdvGrcWML7hnyS2zkrlA8SoKJnRcRF2KxWKs355FhpHpzqyZflO5l98+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+uvHQjIeHEJqxjqfyA8yqAFKRHKVFrwnwdMHIsRap2EKBhHMfeVf0P2th6C9MggYoGCvdIaIUgMBX3TtCdvGrcWML7hnyS2zkrlA8SoKJnRcRF2KxWKs355FhpHpzqyZflO5l98+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+uvHQjIeHEJqxjqfyA8yqAFKRHKVFrwnwdMHIsRap2EKBhHMfeVf0P2th6C9MggYoGCvdIaIUgMBX3TtCdvGrcWML7hnyS2zkrlA8SoKJnRcRF2KxWKs355FhpHpzqyZflO5l98+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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:
实例
服务
公众
文章
代码
变量
环境
三个
名称
技术
技术文章
更多
系统
二维
二维码
应用
平台
明细
上图
下图
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发计划超市管理系统
数据库分离后在哪里找到
网络安全中队会教案
教育局信息网络安全
关系型数据库百度云
ibm服务器机柜报价
黑龙江省招聘网络安全工程师
外汇服务器审核中
数据库计算公式
丰台区口碑好的软件开发诚信服务
校园网网络安全结论
软件开发方向学习
博山财务办公软件开发价格
山西亨泰尔互联网科技怎么样
网络安全文字素材20个字
密云租房软件开发
eps 工业企业数据库
宝塔服务器负载100
为什么要用数据库中间件
福建服务器机柜定制云服务器
初中生网络安全标语
sql数据库怎么给用户授权查看
漳平软件开发公司
西安高新软件开发公司
软件开发必须公开招标
软件开发类企业
温州市网络安全专家组
网络技术微信定位
电信服务器系统日志会永久保存吗
gom引擎物品数据库参数