CloudFoundry应用的manifest.xml里的env区域,允许用户自定义变量,如下图5个变量所示。
使用cf push部署到CloudFoundry之后,在SAP Cloud Platform Cockpit的User-Provided Variables标签页里能看到这5个用户自定义的变量。通过点击“Add Varible”按钮能在Cockpit里直接添加新的环境变量。下图我添加了一个新的环境变量,名称为employee_id, 值为i042416。
在Java代码里读取环境变量的方式:
String userJavaEnvironment = System.getenv("JAVA_OPTS");
LOGGER.info("Baal user provided variable: " + userJavaEnvironment);
String employee_id = System.getenv("employee_id");
LOGGER.info("employee_id variable: " + employee_id);
在Kibana里观察到运行时JAVA_OPTS输出的值:
"msg": "Baal user provided variable: -agentpath:/home/vcap/app/.java-buildpack/open_jdk_jre/bin/jvmkill-1.13.0_RELEASE=printHeapHistogram=1 -Djava.io.tmpdir=/home/vcap/tmp -Djava.ext.dirs=/home/vcap/app/.java-buildpack/container_security_provider:/home/vcap/app/.java-buildpack/open_jdk_jre/lib/ext -Djava.security.properties=/home/vcap/app/.java-buildpack/java_security/java.security -Xss349k -Daccess.logging.enabled=false -Dhttp.port=8080 -Xmx71722K -XX:ReservedCodeCacheSize=240M -XX:MaxDirectMemorySize=10M -XX:MaxMetaspaceSize=109315K -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027",
employee_id的输出:
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:
原文地址:http://blog.51cto.com/5899363/2127816