0

在我的应用程序启动中,我从应用程序属性中的 env 变量中获取了一些变量。

它适用于 Spring Boot 容器。

但是当我使用 wildfly 10 启动应用程序时,System.getenv总是返回 null。我在 STS 的运行配置中设置了我的环境变量,它在运行 wildfly 的 openshift 中也不起作用。

这是我的代码示例:

String showSql = System.getenv("SHOW_SQL");

if(value.contains(":")){
    int split = value.indexOf(":");
    List<String> s = new ArrayList<String>();
    s.add(value.substring(1, split)) ;
    s.add(value.substring(split+1, value.length()-1));
    // value.split(":");

    if(System.getenv(s.get(0)) != null){
        var = System.getenv(s.get(0));
    }else{
        var = s.get(1);
        var = var.replace(":", "");
    }                           
}else{
    value = value.replace("{", "");
    value = value.replaceAll("}", "");
    var = System.getenv(value);
}

谁能帮我?

4

1 回答 1

0

您可以使用命令 /system-property=foo:add(value=bar) 在 Wildfly 中使用 jboss-cli 设置属性,然后您可以使用 System.getProperty 从应用程序中获取该属性(同时可能需要重新加载) . 该属性将被存储到 Wildfly 配置中,因此它可以在重新启动后继续存在 :)

于 2018-04-24T09:20:47.817 回答