jboss中有不同类型的系统变量吗?

问题描述 投票:0回答:1

在 jboss-cli 我可以做

[standalone@localhost:10990 /] /system-property=foo.bar:add(value=baz)
{"outcome" => "success"}

[standalone@localhost:10990 /] /system-property=foo.bar:read-resource
{
    "outcome" => "success",
    "result" => {"value" => "baz"}
}

我可以列出所有系统变量

[standalone@localhost:10990 /] /core-service=platform-mbean/type=runtime:read-attribute(name=system-properties)

其中之一是jboss.home.dir。我愿意:

[standalone@localhost:10990 /] /system-property=jboss.home.dir:read-resource
{
    "outcome" => "failed",
    "failure-description" => "WFLYCTL0216: Management resource '[(\"system-property\" => \"jboss.home.dir\")]' not foun
d",
    "rolled-back" => true
}

那么这是另一种系统变量?

我读到我可以做到:

[standalone@localhost:10990 /] :resolve-expression(expression=${jboss.home.dir})
{
    "outcome" => "success",
    "result" => "D:\\dev\\eap_wildfly\\eap-7.4.0"
}

但这并不能回答我的问题。

jboss jboss-cli jboss-e
1个回答
0
投票

system-property
资源是设置或覆盖系统属性的一种方法。在某些情况下,根据访问系统属性的时间,该资源可能无法工作。

jboss.home.dir
属性是始终从服务器设置的系统属性。您也无法在
system-property
资源中覆盖此设置。如果你这样做:

/system-property=jboss.home.dir:add(value=${jboss.home.dir})

该命令将失败并显示:

{
    "outcome" => "failed",
    "failure-description" => "WFLYSRV0115: System property jboss.home.dir cannot be set via the xml configuration file or from a management client; it's value must be known at initial process start so it can only set from the command line",
    "rolled-back" => true
}

但是,您可以在

jboss.home.dir
环境变量中或通过命令行设置
JAVA_OPTS
系统属性,例如:

$JBOSS_HOME/bin/standalone.sh -Djboss.home.dir=$JBOSS_HOME/

并不是说系统属性有多种类型,只是有多种设置方法。某些属性(如

jboss.home.dir
或 JVM 所需的系统属性)无法在
system-property
配置资源中设置。然而,
system-property
配置只是设置系统属性,例如
System.setProperty(name, value)

© www.soinside.com 2019 - 2024. All rights reserved.