Red Hat AMQ Broker 7.13 发行注记


Red Hat AMQ Broker 7.13

AMQ Broker 发行注记

摘要

本发行注记包含有关 AMQ Broker 7.13 发行版本中包含的新功能、增强功能、修复和问题的最新信息。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息

第 1 章 AMQ Broker 7.13 的长期支持

AMQ Broker 7.13 被指定为 Long Term Support (LTS)版本。有关 LTS 版本条款的详情,请参阅 AMQ LTS 版本如何被支持?

支持 Red Hat Enterprise Linux 和 OpenShift Container Platform

AMQ Broker 7.13 LTS 版本支持:

  • Red Hat Enterprise Linux 8 和 9
  • OpenShift Container Platform 4.16, 4.17, 4.18, 4.19 和 4.20
  • Microsoft Windows Server 2019、2022 和 2025

红帽努力确保 AMQ Broker 保持与将来的 OpenShift Container Platform 版本兼容,但无法保证这个兼容性。每个新的 OpenShift Container Platform 版本都会执行互操作性测试。如果没有找到兼容性问题,新的 OpenShift Container Platform 版本会添加到 Red Hat AMQ Broker 7 支持的配置 中。

第 2 章 支持的配置

有关支持的配置的详情,请参考 Red Hat AMQ Broker 7 支持的配置

支持的 Java 版本
AMQ Broker 7.13 支持 Java 17 和 Java 21。
OpenWire 支持
AMQ 7 Broker 从 2017 年发布后对 Openwire 协议提供支持,作为将客户端应用程序迁移到 AMQ 7 的方法。在 2021 年发布 AMQ Broker 7.9.0 后,Openwire 协议已被弃用,建议客户将其现有的 Openwire 客户端应用程序迁移到 AMQ 7 完全支持的协议之一(CORE、AMQP、MQTT 或 STOMP)。 从 AMQ Broker 8.0 版本开始,Openwire 协议将从 AMQ Broker 中删除。

第 3 章 新的和更改的功能

这部分论述了 AMQ Broker 7.13 中突出显示的增强和更改的功能。有关功能增强的完整列表,请参阅 AMQ Broker 7.13.0 增强

FIPS 容错
AMQ Broker 7.13 是 FIPS-tolerant,这意味着它在启用了 FIPS 的 OpenShift 集群或 RHEL 系统上自动运行。一个注意事项是,代理无法使用默认的 codec org.apache.activemq.artemis.utils.DefaultSensitiveStringCodec 对密码进行编码。默认 codec 使用 Blowfish 算法,它不是 FIPS 容错的。Blowfish 算法在 7.13 中已弃用。如需更多信息,请参阅 在 OpenShift 上部署 AMQ Broker 中的 禁用 FIPS 模式请参阅配置 AMQ Broker 中的 禁用 FIPS 模式
支持代理属性的 JSON 格式
在 7.13 中,您可以使用 JSON 格式配置代理属性。JSON 格式比编写属性的文本格式更紧凑,这意味着您可以在单个文件中添加更多属性,而无需超过属性文件的 1 MB 大小限制。如需更多信息,请参阅在 OpenShift 上部署 AMQ Broker 中的分离 代理Properties 配置
新的 AMQ 管理控制台

在 7.13 中,下一代基于 HawtIO 4 的 AMQ 管理控制台与 AMQ Broker 集成。前面的 HawtIO 2 控制台基于 Bootstrap 框架,该框架不再受到 Bootstrap 基础的支持。新控制台的亮点包括:

  • 使用现代 Web 技术 React 和 Patternfly。
  • 有一个更快、响应更快的 UI。
  • 在表格视图和 JMX 视图之间提供干净的隔离。
  • 支持通用 OpenID 身份验证。OpenID Connect Core 1.0 是用于分布式身份验证的广泛规格和标准方法(基于 OAuth 2)。
  • 改进了过滤器的代理图
注意

默认情况下,新的控制台节流身份验证以防止暴力攻击。因此,在登录到 web 控制台时,您可能会看到 429 会出现一个间歇性错误。如果要禁用节流身份验证:

  • 在 RHEL 上的 AMQ Broker 上,将一个新的参数 -Dhawtio.authenticationThrottled=false 添加到 artemis.profile 文件中的 Java 系统参数的 JAVA_ARGS 列表中。
  • 在 OpenShift 上的 AMQ Broker 上,添加一个 Java 环境变量并指定值: -Ddhawtio.authenticationThrottled=false。有关设置环境变量的更多信息,请参阅在 OpenShift 上部署 AMQ Broker 中的 为代理容器设置环境变量
注意

在 HawtIO 4 中,不支持 hawtio.role 属性。因此,您必须使用 hawtio.roles 属性授予一个或多个对 AMQ 管理控制台的角色访问权限。

基于百分比的全局内存限值
在以前的版本中,只能为所有地址设置全局内存限值作为绝对值。在 7.13 中,您可以将全局内存限值值设置为代理 JVM 可用最大内存的百分比。如需更多信息,请参阅 在 OpenShift 和 RHEL 上部署 AMQ Broker 中的 为代理配置最大 JVM 内存 请参阅配置 AMQ Broker 中所有地址的分页限制
AMQ Broker Prometheus 插件公开的新指标

在 7.13 中,以下新指标由 AMQ Broker Prometheus 插件公开:

session_count :此服务器上的会话数。

total_session_count :此服务器上创建的会话总数,自启动之后。

artemis_limit_percent.特定地址使用的内存限值的百分比。

Log4J2 JsonTemplateLayout 支持
您可以将 Log4J 日志记录工具写入 JSON 模板布局的日志的默认布局。如需更多信息, 请参阅配置 AMQ Broker 中的配置日志
AMQ 核心协议 JMS 客户端重试参数
在 7.13 中,AMQ Core Protocol JMS 客户端将 retryIntervalMultiplier 和 maxRetryInterval 参数的值应用到初始连接尝试。在以前的版本中,客户端在重新连接尝试但未在初始连接尝试中使用这些参数。
AMQP 客户端的消费者优先级支持
AMQ Broker 7.13 允许您为 AMQ 客户端设置消费者优先级,如红帽构建的 Apache Qpid JMS。
Red Hat Universal Base Image (UBI) 9 容器镜像
OpenShift 容器镜像的 AMQ Broker 基于 Red Hat UBI 9 构建。基于 UBI 9 的代理容器镜像与 RHEL8 主机系统兼容。
Operator 频道

OperatorHub 上提供了一个新的 OperatorRed Hat Integration - AMQ Broker for RHEL 9 (Multiarch)。此 Operator 的更新只在 7.13.x 频道中提供。7.13.x 频道是一个 Long Term Support (LTS)频道。

7.12.x LTS 频道为 Red Hat Integration - AMQ Broker for RHEL 8 (Multiarch) Operator 提供了更新。此频道仅用于版本 7.12。

注意

无法通过切换频道来升级 Operator。您必须卸载现有 Operator,并从适当的频道安装 Operator 的新版本。

要确定要选择哪个 Operator,请参阅 Red Hat Enterprise Linux Container Compatibility Matrix

程序示例
在 AMQ Broker 7.13 中,示例程序没有发布并安装代理。相反,您可以访问以下软件仓库中的示例程序 :https://github.com/apache/activemq-artemis-examples。

第 4 章 弃用的功能

本节论述了支持但已从 AMQ Broker 中弃用的功能。

默认 codec 的双向算法
从 7.13 开始,默认 codec 的双向算法 DefaultSensitiveStringCodec 已被弃用。
ActiveMQArtemisAddress CRD
从 7.12 开始,ActiveMQArtemisAddress CRD 已被弃用。使用 ActiveMQArtemis CR 中的 spec.brokerProperties 属性为您的部署创建地址和队列。
ActiveMQArtemisSecurity CRD
从 7.12 开始,ActiveMQArtemisSecurity CRD 已被弃用。使用 ActiveMQArtemis CR 中的 spec.brokerProperties 属性来配置部署的安全性。
ActiveMQArtemisScaledown CRD
从 7.12 开始,ActiveMQArtemisScaledown CRD 已被弃用。ActiveMQArtemisScaledown CRD 由代理在内部使用,因此此更改对 AMQ Broker 管理员是透明的。
LDAP 查询的连接池
从 7.12 开始,connectionPool 参数(为 LDAP 查询启用连接池)已弃用。内置授权和身份验证缓存提供了一种可优化 LDAP 查询性能的替代方法。有关自定义内置缓存的详情,请参考 配置身份验证和授权缓存
自定义资源中的 升级 属性
从 7.11 开始,升级 属性和关联的 启用 和次要 属性已弃用,因为它们无法象最初设计一样工作。使用 imageversion 属性来部署特定的代理容器镜像。
queues 配置元素
从 7.10 开始,<queues> 配置元素已弃用。您可以使用 <addresses> 配置元素来创建地址和关联的队列。<queues> 配置元素将在以后的版本中删除。
getAddressesSettings method
从 7.10 开始,getAddressesSettings 方法(包括在 org.apache.activemq.artemis.core.config.Configuration 接口)已被弃用。使用 getAddressSettings 方法,以编程方式为代理配置地址和队列。
OpenWire 协议
从 7.9 开始,OpenWire 协议是一个弃用的功能。如果您要创建新的基于 AMQ Broker 的系统,请使用其他支持的协议。从 8.0 版本开始,Openwire 协议将从 AMQ Broker 中删除。
在代理实例没有运行时添加用户
从 7.8 开始,当 AMQ Broker 实例没有运行时,从 CLI 接口将用户添加到代理的功能会被删除。
网络 pinger
从 7.5 开始,网络 ping 是一个已弃用的功能。网络 ping 无法保护代理集群不受出现无法恢复的消息丢失的网络隔离问题。这个功能将在以后的发行版本中被删除。红帽继续支持使用网络 ping 的现有 AMQ Broker 部署。但是,红帽不推荐在新部署中使用网络 ping。有关为高可用性配置代理集群的指南,并避免网络隔离问题,请参阅配置 AMQ Broker 中的 实施高可用性
Hawtio 分配控制台插件
从 7.3 开始,AMQ Broker 不再包含 Hawtio 分配控制台插件 assignment -hawtio-console.war。在以前的版本中,分配控制台用于管理 AMQ Interconnect。但是,AMQ Interconnect 现在使用自己的独立 web 控制台。

第 5 章 开发预览

重要

提供了开发人员预览版本,以公开来自上游社区的功能,供早期采用者和集成商使用,以便在可能包含在红帽产品产品中之前与新功能进行交互。如需更多信息,请参阅 link Developer Preview Support Scope

restricted 模式
在 7.13 中,ActiveMQArtemis CR 支持一个新的属性 spec.Restricted如果此属性设为 True,则会部署一个空的嵌入式代理。您可以使用 ActiveMQArtemis CR 中的 brokerProperties 属性来配置此代理。为保护代理端到端通信,代理需要一个公钥基础架构(PKI)。您可以使用 cert-manager 为 PKI 生成 TLS 证书。
自助置备插件
自助置备插件是 OpenShift 控制台的动态插件。该插件向 OpenShift 控制台添加新的代理工作负载类型,允许您在 OpenShift 中创建和管理代理部署。自助置备插件中包含 Jolokia API 服务器。API 服务器构建在自助置备插件 UI 中发出的请求,并将其发送到代理上的 Jolokia 端点。自助置备插件和 Jolokia API 服务器在 AMQ Broker 7.13 版本的 Software Downloads 页面中提供
注意

您只能在运行 OpenShift 4.16 或更高版本的集群中安装自助置备插件。

完成以下步骤,在 OpenShift 集群上安装 Jolokia API 服务器和自助置备插件。

  1. 确保在集群中安装了 AMQ Broker Operator 和 cert-Manager Operator。
  2. 使用 OpenShift 命令行界面(CLI)登录您的 OpenShift 集群。
  3. 在网页浏览器中,导航到 AMQ Broker 7.13 版本的 Software Downloads 页面
  4. 在 AMQ Broker 7.13.0 Jolokia API 服务器安装文件旁边,点 Download
  5. 在 AMQ Broker 7.13.0 自助置备插件安装文件旁边,点 Download
  6. 将下载的存档移至新目录。以下示例将存档移到名为 ~/broker/spp 的目录。

    $ mkdir ~/broker/spp
    $ mv amq-broker-jolokia-api-server-7.13.0-install-rhel9.zip ~/broker/spp
    $ mv amq-broker-self-provisioning-plugin-7.13.0-install-rhel9.zip ~/broker/spp
  7. 提取存档的内容。例如:

    $ cd ~/broker/spp
    $ unzip amq-broker-jolokia-api-server-7.13.0-install-rhel9.zip
    $ unzip amq-broker-self-provisioning-plugin-7.13.0-install-rhel9.zip
  8. 切换到提取 Jolokia API 服务器存档时创建的目录。

    $ cd amq-broker-jolokia-api-server-7.13.0-install
  9. 运行脚本来安装 Jolokia API 服务器:

    // AsciiDocDITA.BlockTitle, warning, Block titles can only be assigned to examples, figures, and tables in DITA.
    ./deploy.sh
  10. 切换到提取自置备插件存档时创建的目录。

    $ cd ../amq-broker-self-provisioning-plugin-7.13.0-install
  11. 运行脚本来安装自置备插件:

    // AsciiDocDITA.BlockTitle, warning, Block titles can only be assigned to examples, figures, and tables in DITA.
    ./deploy-plugin.sh
  12. 验证 Jolokia API 服务器的 pod 和自助置备插件是否在 activemq-artemis-jolokia-api-serveractivemq-artemis-self-provisioning-plugin 命名空间中运行。

有关如何尝试插件的详情,请参考 自助置备插件 readme 文件

第 6 章 修复的问题

有关版本中修复的问题的完整列表,请参阅 AMQ Broker 7.13.0 修复的问题,并查看 AMQ Broker - 7.13.x 解析 的问题列表以了解补丁版本中修复的问题列表。

第 7 章 修复了常见漏洞和风险

本节详细介绍了 AMQ Broker 7.13 发行版本中修复的常见漏洞和暴露(CVE)。

  • ENTMQBR-9545- CVE-2024-38819 org.springframework/spring-webmvc: 功能 Web 框架中的路径遍历漏洞 [amq-7]
  • ENTMQBR-9496 - CVE-2024-8184 org.eclipse.jetty-server: Jetty ThreadLimitHandler.getRemote ()易受到远程 DoS 攻击 [amq-7]
  • ENTMQBR-9445 - CVE-2024-38809 org.springframework/spring-web: Spring Framework DoS via conditional HTTP request [amq-7]
  • ENTMQBR-958 1- CVE-2024-6763 org.eclipse.jetty-http: Jetty URI 解析无效颁发机构 [amq-7]
  • ENTMQBR-95 39- CVE-2024-38828 org.springframework/spring-webmvc: DoS,使用 byte[] 参数 [amq-7]
  • ENTMQBR-8648 - CVE-2020-23064 hawtio-core: jquery: cross-site scripting [amq-7]
  • ENTMQBR-8887- CVE-2024-26308 commons-compress: OutOfMemoryError unpacking broken Pack200 file [amq-7]
  • ENTMQBR-888 8- CVE-2024-25710 commons-compress: 因一个损坏的 DUMP 文件 [amq-7]

第 8 章 已知问题

这部分论述了 AMQ Broker 7.13 中已知的问题。

  • ENTMQBR-9810- 使用 Java23 会导致不支持的OperationException: getSubject 只有在允许安全管理器时被支持

    当您将 AMQ Broker 7.13 与 Java 23 搭配使用时,会显示以下错误:

    只有在 java.base/javax.security.auth.Subject.getSubject (Subject.java.java:347)中允许安全管理器时,才支持 java.lang.UnsupportedOperationException: getSubject.

    要解决这个问题,请将新参数 -Djava.security.manager=allow 添加至 artemis.profile 文件中的 Java 系统参数的 JAVA_ARGS 列表。这个参数启用对安全管理器的支持,而无需实际使用。

  • 安装 dir 具有 unicode 字符时,控制台的 ENTMQBR-979 1- 启动控制台失败。

    如果您重命名了默认目录(在提取代理安装存档时创建)到包含 unicode 字符的目录名称,则 AMQ 管理控制台无法启动。启动代理时显示的日志信息中会显示以下错误:

    WARN [org.eclipse.jetty.ee9.webapp.WebAppContext] Failed startup of context oeje9w.WebAppContext@626d2016{/metrics,/metrics,null,false,@Connector-0}{/home/jcliffor/Downloads/<directory name> /web/metrics.war}__ java.lang.IllegalArmentment: Bad escape: Bad escape

  • ENTMQBR-910 19 更改 ingressDomain 不会更新路由。

    如果将 spec.ingressDomain 属性的值改为空值,则在现有路由中不会更新域值。此问题的原因是,只有在创建新路由时,OpenShift 路由的 spec.host 字段会自动生成。

  • ENTMQBR-9187 - 在部署 CR 且消息迁移无法按预期工作时,Operator 会显示禁止的错误。

    如果使用 OpenShift CLI 或使用带有自定义 YAML 文件的 OperatorHub 安装 Operator,您可以将 Operator 配置为监视多个命名空间或与安装 Operator 不同的单个命名空间。在这两个配置中,部署 ActiveMQArtemis CR 时会显示以下错误:

    W0614 14:18:59.355936 1 reflector.go:535] k8s.io/client-go/informers/factory.go:150: failed to list *v1.StatefulSet: statefulSets.apps is forbidden: User "system:serviceaccount:amq-broker-operator-olm:amq-broker-controller-manager" cannot list resource "statefulSets" in API group "apps" in the cluster scope.

    代理部署已创建,并可以正常工作。但是,如果您随后缩减部署,删除的代理中的信息不会迁移到另一个代理,并会丢失。

    要避免这个问题,允许 Operator 监控所有命名空间(默认命名空间),或者配置 Operator 以观察安装 Operator 的单个命名空间。

  • ENTMQBR-810 6- AMQ Broker Drainer pod 在更改 CR 中的 MessageMigration 后无法正常工作

    您无法更改正在运行的代理部署中 messageMigration 属性的值。要临时解决这个问题,您必须在新的 ActiveMQ Artemis CR 中设置 messageMigration 属性所需的值,并创建新的代理部署。

  • ENTMQBR-7359 - 使用 7.10.0 Operator 更改为当前处理凭证 secret

    Operator 存储用于连接到 secret 中的代理的管理员用户名和密码。默认 secret 名称采用 < custom-resource-name&gt;-credentials-secret 的形式。您可以手动创建 secret,或允许 Operator 创建 secret。

    如果在 7.10.0 之前在自定义资源中配置 adminUseradminPassword 属性,Operator 会使用这些属性的值更新手动创建的 secret。从 7.10.0 开始,Operator 不再更新手动创建的 secret。因此,如果您更改了 CR 中的 adminUseradminPassword 属性的值,您必须: f * 使用新用户名和密码更新 secret,并且允许 Operator 创建 secret。当 Operator 创建 secret 时,如果 CR 中指定了这些值,它会添加 adminUseradminPassword 属性的值。如果这些属性不在 CR 中,Operator 会为 secret 生成随机凭证。

  • ENTMQBR-71 11- 7.10 版本 operator 通常会在升级过程中删除 StatefulSet

    如果您要升级到 AMQ Broker Operator 7.10.0,新的 Operator 会在协调过程中自动删除每个部署的现有 StatefulSet。当 Operator 删除 StatefulSet 时,现有代理 pod 会被删除,这会导致临时代理中断。

    您可以运行以下命令来手动删除 StatefulSet,并在 Operator 获取 StatefulSet 前出现孤立的 pod: oc delete statefulSet <statefulSet < statefulSet-name>-- cascade=orphan

    在升级过程中手动删除 StatefulSet 可让新 Operator 在不删除正在运行的 pod 的情况下协调 StatefulSet。如需更多信息,请参阅在 OpenShift 上部署 AMQ Broker 中的 使用 OperatorHub 升级 Operator

  • ENTMQBR-5749 - Remove unsupported operator 在 OperatorHub 中可见

    仅支持 从 OperatorHub 部署 Operator 中提到的 Operator 和 Operator 频道。出于与 Operator 出版物相关的技术原因,其他 Operator 和频道在 OperatorHub 中可见,应忽略。为了参考,以下列表显示了哪些 Operator 可见,但不被支持:

    • Red Hat Integration - AMQ Broker LTS - 所有频道
    • Red Hat Integration - AMQ Broker - alpha、current 和 current-76
  • ENTMQBR-414 1- AMQ Broker Operator: 增加持久性卷大小需要在重新创建有状态集后手动参与

    如果您试图增加部署持久性存储的代理所需的持久性卷声明(PVC)的大小,则更改不会在没有进一步手动步骤的情况下生效。例如,假设您配置自定义资源(CR)实例的 storage.size 属性,以指定 PVC 的初始大小。如果您修改 CR 以指定 storage.size 的不同值,则现有代理将继续使用原始 PVC 大小。即使您将部署缩减为零代理,然后备份到原始数量,也会发生这种情况。但是,如果您扩展部署的大小来添加额外的代理,新代理将使用新的 PVC 大小。

    要临时解决这个问题,并确保部署中的所有代理都使用相同的 PVC 大小,请使用 OpenShift Container Platform Web 控制台扩展部署使用的 PVC 大小。在控制台中,单击 menu:Storage[Persistent Volume Claims]。点您的部署。在右上角的 Actions 下拉菜单中,选择 Expand PVC 并输入新值。

法律通告

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部