A.2. 消息传递子系统迁移操作警告


迁移操作无法处理所有资源和属性。当您为 messaging 子系统运行 migratedescribe-migration 操作,可能会看到包括在以下列表中的警告。

注意

如果您在迁移操作输出中看到 "Could not migrate" 或 "Can not migrate " 条目,这表示成功完成了服务器配置,但无法自动迁移所有元素和属性。您必须遵循"migration-warnings"提供的建议来修改这些配置。

Expand
警告信息它代表什么/如何修复它

无法执行 迁移操作:服务器必须处于 仅限管理员 模式

迁移操作需要以 admin-only 模式启动服务器,这通过将 --start-mode=admin-only 添加到 server start 命令中来实现:

$ EAP_HOME/bin/standalone.sh --start-mode=admin-only
Copy to Clipboard Toggle word wrap

无法从资源 X 迁移属性 local-bind-address。改为使用 socket-binding 属性来配置这个 broadcast-group

这个消息包含解释以及如何修复它。

无法从资源 X 迁移属性 local-bind-port。改为使用 socket-binding 属性来配置这个 broadcast-group

这个消息包含解释以及如何修复它。

无法从资源 X 迁移属性 group-address。改为使用 socket-binding 属性来配置这个 broadcast-group

这个消息包含解释以及如何修复它。

无法从资源 X 中迁移属性 group-port。改为使用 socket-binding 属性来配置这个 broadcast-group

broadcast-group 资源不再接受 local-bind-addresslocal-bind-portgroup-addressgroup-port 属性。它仅接受 socket-binding 属性。警告是通知资源 X 具有不支持的属性。您必须在资源上手动设置 socket-binding 属性,并确保它与定义的 socket-binding 资源对应。

提供 X 的类会在迁移期间丢弃。要在新的 messaging-activemq 子系统中使用它们,您必须扩展基于IOMMU 的 Interceptor

在 JBoss EAP 7 中,消息拦截器支持有很大不同。在之前版本的子系统中配置的任何拦截器都会在迁移过程中丢弃。如需更多信息,请参阅迁移消息拦截器

无法迁移 X 的 HA 配置。其 shared-storebackup 属性包含表达式,无法判断不确定如何为 messaging-activemq 的服务器创建对应的 ha-policy

这意味着 hornetq-server Xshared-storebackup 属性包含表达式,如 ${xxx},并且迁移操作无法将其解析为 concrete 表达式。该值将被丢弃,并且必须手动更新 messaging-activemqha-policy

无法从资源 X 迁移属性 local-bind-address。使用 socket-binding 属性来配置此 discovery-group

这个消息包含解释以及如何修复它。

无法从资源 X 迁移属性 local-bind-port。使用 socket-binding 属性来配置此 discovery-group

这个消息包含解释以及如何修复它。

无法从资源 X 迁移属性 group-address。使用 socket-binding 属性来配置此 discovery-group

这个消息包含解释以及如何修复它。

无法从资源 X 中迁移属性 group-port。使用 socket-binding 属性来配置此 discovery-group

discovery-group 资源不再接受 local-bind-addresslocal-bind-portgroup-addressgroup-port 属性。它仅接受 socket-binding。警告是通知资源 X 具有不支持的属性。您必须在资源上手动设置 socket-binding 属性,并确保它与定义的 socket-binding 资源对应。

无法基于 connection-factory X 创建 legacy-connection-factory。它使用一个与在vm in-vm 连接器不兼容的 HornetQ in-vm 连接器

传统的 HornetQ 远程 connection-factory 资源迁移到 legacy-connection-factory 资源,以便 JBoss EAP 6 客户端连接到 JBoss EAP 7。但是,legacy-connection-factory 资源仅在 connection-factory 使用远程连接器时创建。任何使用 in-vmconnection-factory 都不会被迁移,因为 in-vm 客户端基于 JBoss EAP 7,而非 JBoss EAP 6。这个警告是没有迁移 in-vm connection-factory 的通知。

无法从资源 Y 迁移属性 X。属性使用表达式,可以按照系统属性的不同方式解析。迁移后,此属性必须使用实际值而非表达式来重新添加。

当迁移无法将属性 X 在升级过程中解析为 Concrete 值时会出现这个警告。该值被丢弃,必须手动迁移 属性。在以下情况下发生这种情况:

  • cluster-connection forward-when-no-consumers:

    此布尔值属性已被 message-load-balancing-type 属性替代,它是 enum,值为 OFFSTRICTON_DEMAND

  • broadcast-groupdiscovery-group的 's jgroups-stackjgroups-channel 属性

    它们引用了其他资源,JBoss EAP 7 不再接受这些表达式。

无法从资源 Y 迁移属性 X。新的 messaging-activemq 子系统不支持此属性。

新的 messaging-activemq 子系统不再支持一些属性,直接丢弃:

  • hornetq-serverfailback-delay
  • HTTP-connector's use-nio 属性
  • HTTP-acceptor's use-nio 属性
  • remote-connectoruse-nio 属性
  • remote-acceptoruse-nio 属性

无法从资源 X 迁移属性 failedback-delay。runc 可检测到故障恢复的确定性,不再需要指定故障恢复的延迟。

消息中包含解释。

替换 Deprecated broadcast-group 或 discovery-group 属性

如果建议将已弃用的 broadcast-groupdiscovery-group 属性替换为 socket-binding 属性,您可以使用管理 CLI 添加新属性。

本例假设您正在迁移一个单机服务器,该服务器在 messaging 子系统中包含以下 discovery-group 配置:

<discovery-groups>
    <discovery-group name="my-discovery-group">
        <group-address>224.0.1.105</group-address>
        <group-port>56789</group-port>
    </discovery-group>
</discovery-groups>
Copy to Clipboard Toggle word wrap

当您为 messaging 子系统运行迁移操作时,您会看到以下输出和警告:

/subsystem=messaging:migrate
{
    "outcome" => "success",
    "result" => {"migration-warnings" => [
        "WFLYMSG0084: Can not migrate attribute group-address from resource [
    (\"subsystem\" => \"messaging-activemq\"),
    (\"server\" => \"default\"),
    (\"discovery-group\" => \"my-discovery-group\")
]. Use instead the socket-binding attribute to configure this discovery-group.",
        "WFLYMSG0084: Can not migrate attribute group-port from resource [
    (\"subsystem\" => \"messaging-activemq\"),
    (\"server\" => \"default\"),
    (\"discovery-group\" => \"my-discovery-group\")
]. Use instead the socket-binding attribute to configure this discovery-group."
    ]}
}
Copy to Clipboard Toggle word wrap

migrate 操作会在新的 messaging-activemq 子系统中创建一个名为 "my- discovery-group " 的 discovery-group,该组现在配置如下:

<discovery-group name="my-discovery-group"/>
Copy to Clipboard Toggle word wrap

现在,您必须使用以下管理 CLI 命令在服务器配置文件中创建一个名为 "my-discovery-group- socket-binding " 的 socket-binding 元素。

/socket-binding-group=standard-sockets/socket-binding=my-discovery-group-socket-binding:add(multicast-address=224.0.1.105, multicast-port=56789)
Copy to Clipboard Toggle word wrap

接下来,使用下列管理 CLI 命令将新创建的 socket-binding 添加到服务器配置文件中的 messaging-activemq 子系统中名为"my- discovery-group "的 discovery-group。

/subsystem=messaging-activemq/server=default/discovery-group=my-discovery-group:write-attribute(name=socket-binding,value=my-discovery-group-socket-binding)
Copy to Clipboard Toggle word wrap

这些命令在服务器配置文件中创建以下 XML。

<subsystem xmlns="urn:jboss:domain:messaging-activemq:4.0">
    <server name="default">
        ...
        <discovery-group name="my-discovery-group" socket-binding="my-discovery-group-socket-binding"/>
        ...
    </server>
</subsystem>
...
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
    ...
    <socket-binding name="my-discovery-group-socket-binding" multicast-address="224.0.1.105" multicast-port="56789"/>
    ...
</socket-binding-group>
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat