博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何在Java代码中使用SAP云平台CloudFoundry环境的环境变量
阅读量:5964 次
发布时间:2019-06-19

本文共 7209 字,大约阅读时间需要 24 分钟。

hot3.png

本文使用的例子源代码在我的上。

在我的公众号文章介绍了如何通过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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

转载于:https://my.oschina.net/u/3771578/blog/1827701

你可能感兴趣的文章
远程服务器无法复制粘贴问题
查看>>
算法设计--从后向前处理
查看>>
Flume的简单使用
查看>>
简单解锁 之 锁 的简单运用,单机锁 和 分布式锁
查看>>
STMF103系列单片机无法调试和下载程序的原因及其解决
查看>>
ios app上架App Store需要多少费用?
查看>>
JavaScript 1 (转)
查看>>
poj 2699 The Maximum Number of Strong Kings
查看>>
实习日记7.25
查看>>
嵌入式第十次实验报告
查看>>
SQL 语句与性能之执行顺序
查看>>
多线程方式采集搜狗高清壁纸的实现
查看>>
13206抢票代码 py
查看>>
ORA-00257: archiver error. Connect internal only, until freed。
查看>>
02Oracle数据查询(一)
查看>>
第二周作业-软件工作量的估计
查看>>
我的wordpress插件总结
查看>>
MAXIMO 快速查找实现
查看>>
Oracle——条件控制语句
查看>>
[Python3网络爬虫开发实战] 1.2.6-aiohttp的安装
查看>>