gpt4 book ai didi

ibm-cloud - 如何在运行通过打包服务器推送的 Liberty 应用程序时获取实例主机名

转载 作者:行者123 更新时间:2023-12-03 06:58:33 25 4
gpt4 key购买 nike

我有一个通过打包的 liberty 服务器推送的 bluemix 应用程序。该应用程序在内部查找实例 IP/主机名。当应用程序升级为多个实例时,使用 localhost 作为主机名就变得过时了。主机条目在我们的 server.xml 中设置。

当我尝试使用可引用变量(例如 ${host} 或 ${vcap_console_ip})时,它没有分别获取主机名或 IP 地址。

  1. ${host} 在我们的 server.xml 中返回 0.0.0.0
  2. ${vcap_console_ip} - 它没有获得任何值。我看到runtime-vars.xml 不显示${vcap_console_ip},即使在server.xml 中使用它也是如此。

寻找有关如何获取应用程序正在运行的实例的主机名或 IP 到我的 server.xml 中的建议。

最佳答案

您可以使用VCAP_APPLICATION env 变量并获取“uris”属性。

    String VCAP_APPLICATION = System.getenv("VCAP_APPLICATION");
if (VCAP_APPLICATION != null) {
JsonNode node = Json.mapper().readValue(VCAP_APPLICATION, JsonNode.class);
ArrayNode uris = (ArrayNode) node.get("uris");
if (uris != null && uris.size() > 0 && uris.get(0) != null) {
host = uris.get(0).textValue();
}

关于ibm-cloud - 如何在运行通过打包服务器推送的 Liberty 应用程序时获取实例主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36963351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com