在 Wildfly 8.2 的standalone-full.xml 中设置系统属性
Posted
技术标签:
【中文标题】在 Wildfly 8.2 的standalone-full.xml 中设置系统属性【英文标题】:Set system properties in standalone-full.xml in wildfly 8.2 【发布时间】:2015-08-23 21:23:18 【问题描述】:我在standalone-full.xml 中添加了system-properties 标签,但它不能在独立模式下工作。但是,如果我在 domain.xml 中添加相同的标签,它适用于域模式。
<?xml version='1.0' encoding='UTF-8'?>
<server xmlns="urn:jboss:domain:2.2">
<extensions>
....
</extensions>
<system-properties>
<property name="java.util.Arrays.useLegacyMergeSort" value="true"/>
</system-properties>
</server>
根据this article on jBoss General configuration concepts
系统属性值可以在 domain.xml、host.xml 和standalone.xml 中的多个位置设置。
那么standalone-full.xml 呢?
我不想通过命令行设置它,甚至在 java 代码中也不想。
【问题讨论】:
可能与类加载顺序有关...见***.com/a/26829874/453389 请注意,这个问题与 Java 平台本身使用的属性有关! 【参考方案1】:在独立的情况下,在配置文件中设置它可能为时已晚。您需要将其添加到JAVA_OPTS
环境变量中的standalone.conf
或standalone.conf.bat
。在其他任何尝试使用java.util.Arrays
之前,需要设置这样的全局属性。
【讨论】:
【参考方案2】:对于 Wildfly 10,它仍然可以正常工作。我能够读取以包含一些属性的standalone-full.xml 开头的实例的属性。
那我猜该手册肯定已经过时了?因为在使用 Wildfly 管理 web 界面时,即使 Wildfly 本身也会在standalone-full.xml 中插入一个新属性:http://localhost:9990 > Configuration > System Properties(Wildfly 会将该属性当然添加到用于启动实例的 xml 配置中) .这对我来说已经足够证明了。
【讨论】:
【参考方案3】:如果您使用standalone-full.xml 而不是standalone.xml(默认)启动了Wildfly 服务器,那么这应该反映在服务器的启动中:
standalone.sh -b <hostIP> -c standalone-full.xml -Dorg...
那么这将在第一次启动时生效。
如果您更改此配置文件中的某些内容,则需要从 jboss cli 重新加载 Wildfly(配置):
[standalone@localhost:9990 /] :reload
【讨论】:
以上是关于在 Wildfly 8.2 的standalone-full.xml 中设置系统属性的主要内容,如果未能解决你的问题,请参考以下文章
寻找在 wildfly 上读取standalone.xml 文件的 ansible 解决方案
启动 Wildfly 时使用 Maven 编辑standalone.xml
在wildfly 8.2服务器中启动ContextLoaderListener期间的classNotfoundException