wildfly的环境变量不起作用

时间:2018-04-23 10:56:58

标签: java spring-boot environment-variables wildfly application.properties

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

弹簧启动容器可以正常工作。

但是当我使用wildfly 10 System.getenv启动应用程序时,总是返回null。我在STS中的运行配置中设置我的env变量,它也不能在运行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);
}

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

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