JBAS010153:节点标识符 属性 设置为默认值。请确保它是唯一的

JBAS010153: Node identifier property is set to the default value. Please make sure it is unique

我在启动我的主机时收到以下警告消息,该主机是连接到域控制器 (DC) 的主机控制器 (HC) 之一。

[Server:server-two] 14:06:13,822 WARN [org.jboss.as.txn] (ServerService Thread Pool -- 33) JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.

我的主机-slave.xml有以下配置...

        <server-identities>
             <!-- Replace this with either a base64 password of your own, or use a vault with a vault expression -->
             <secret value="c2xhdmVfdXNlcl9wYXNzd29yZA=="/>
        </server-identities>

我希望这个配置是原因......也许我不明白......但我找不到node identifier property而是我希望这是默认的秘密值可能是此警告消息的原因。

但是,我没有提到 HC 来查找 host-slave.xml..... 我 运行 启动我的 HC 的命令是.....

[host-~-\-\-\bin]$./domain.sh -Djboss.domain.master.address=nnn.nn.nn.88 -b nnn.nn.nn.89 -bmanagement nnn.nn.nn.89 &

nnn.nn.nn.88 是我的 DC

否则请告知 WARN 消息的原因。

并且请让我知道此 WARN 消息的含义,并就所需的配置向我们提出建议,以克服和解决可能受此 WARN 约束的任何连续后果。

对于这个 <server-identities> 不是问题。事实上,根本不应该去碰它。

当JBoss被domain.sh以域模式启动时,默认会有三个服务器server-one server-two server-three。当你 运行 一个 HC 附加到 DC 时....默认服务器处于自动启动模式,当我们启动 HC 附加到 DC 时会发生冲突,- 通过以下命令。

[host-~-\-\-\bin]$./domain.sh -Djboss.domain.master.address=nnn.nn.nn.88 -b nnn.nn.nn.89 -bmanagement nnn.nn.nn.89 &

或者通过在 HC 设置主机配置(默认 host.xml... 除非我们选择不同的....)。

<domain-controller>
      <remote host="${jboss.domain.master.address:nnn.nn.nn.88}" port="${jboss.domain.master.port:9999}" security-realm="ManagementRealm"/>
<domain-controller>

为了解决这个问题,我们需要将auto-start转为false.......并且我们需要创建一个新的server-group......来该组我们需要添加 dc-created-serverhc-created-server..... 我们可以为跨 DC 和 HC 创建的服务器选择适当的相同配置文件 full-hafull

因此,当我们通过配置所需的 HEAP 大小(包括 permgen space)来启动组时...您可以同时启动 DC 和 HC...。在 DC 中,您可以看到您的两个-created-servers 在创建的 server-group.

中启动

DC- Domain Controller
HC- Host Controller

要部署,您需要在应用程序控制台中上传 .earweb-archive。您不能像在独立模式下使用 .dodeploy 文件那样将它放在 deployments 文件夹中。

如果您上传相同的 .ear 下一个版本,请在上传过程中使用 Replace 选项而不是 Remove & Add 选项。

我是 wildfly 的新手,当我从 eclipse 独立启动它时注意到了这个警告(我正在做以下教程:https://wwu-pi.github.io/tutorials/lectures/eai/020_tutorial_jboss_project.html

解决方法是向子系统中的核心环境添加节点标识符:

<subsystem xmlns="urn:jboss:domain:transactions:2.0">
        <core-environment node-identifier="meindertwillemhoving">
            <process-id>
                <uuid/>
            </process-id>
        </core-environment>
        <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
</subsystem>

这在文件 [wildfly]\standalone\configuration\standalone.xml 中。 这与 https://developer.jboss.org/message/880136#880136

的答案相同

根据WFLY-10541,如果您使用的是 WildFly v14.0.0 或更新版本,您可以将以下内容传递给启动脚本以设置事务节点标识符:

-Djboss.tx.node.id=<some-unique-id>

只有正确处理 XA 事务才需要将节点标识符设置为唯一值。 您可以在 XML 配置中进行如下设置:

<subsystem xmlns="urn:jboss:domain:transactions:6.0">
    <core-environment node-identifier="${jboss.tx.node.id}">

它必须是最长 23 个字节的唯一值。 更多信息请点击此处:http://www.mastertheboss.com/jboss-server/jboss-configuration/configuring-transactions-jta-using-jboss-as7-wildfly

基于@kaptan 的回答,我在底部添加了以下内容 bin/standalone.conf:

JAVA_OPTS="$JAVA_OPTS -Djboss.tx.node.id=`hostname -f`

这样我就不必记得在 运行 手动添加 wildfly 时添加“-Djboss.tx.node.id=”。