4.2. 将地址设置应用到一组地址


在 AMQ Broker 中,您可以使用通配符表达式来表示匹配的地址名称,将 address-setting 元素中指定的配置应用到 一组 地址。

以下小节描述了如何使用通配符表达式。

4.2.1. AMQ Broker 通配符语法

AMQ Broker 使用特定的语法在地址设置中表示通配符。通配符也可以用于安全设置,也可以在创建使用者时使用。

  • 通配符表达式包含以句点(.)分隔的词语。
  • 数字符号(#)和星号(*)字符也有特殊含义,可以代替词语,如下所示:

    • 数字符号字符表示"匹配零个或多个单词的任意序列"。在表达式的末尾使用此选项。
    • 星号字符表示"匹配单个词语"。在表达式中的任意位置使用它。

匹配不按字符执行,而是在每个分隔符边界上执行。例如,配置为在其名称中与 my 的队列匹配的 address-setting 元素与名为 myqueue 的队列 不匹配

当多个 address-setting 元素匹配某个地址时,代理将配置最不特定的匹配项作为基准。字面表达式比通配符更为具体的,而星号(*)比数字符号(#)更具体。例如,my .destinationmy.* 都与地址 my.destination 匹配。在这种情况下,代理首先应用 my.* 下找到的配置,因为通配符表达式不如字面上的特定。接下来,代理会覆盖 my.destination address 设置元素的配置,它会覆盖所有通过 my.* 共享的配置。例如,根据以下配置,与 my.destination 关联的队列 将 max-delivery-attempts 设置为 3,并且 last-value-queue 设置为 false

<address-setting match="my.*">
    <max-delivery-attempts>3</max-delivery-attempts>
    <last-value-queue>true</last-value-queue>
</address-setting>
<address-setting match="my.destination">
    <last-value-queue>false</last-value-queue>
</address-setting>

下表中的示例说明了如何使用通配符匹配一组地址。

示例Description

#

broker.xml 中使用的默认 address-setting。匹配每个地址.您可以继续应用这一概括性,也可以根据需要为每个地址或地址组添加新 address-setting

news.europe.#

匹配 news.europenews.europe.sportnews.europe.politics.fr,但不会出现 news.usaeurope

news.*

匹配 news.europenews.usa,但不匹配 news.europe.sport

news.*.sport

匹配 news.europe.sportnews.usa.sport,但不匹配 news.europe.fr.sport

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.