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 地址设置元素的配置,它会覆盖与 my.* 共享的任何配置。例如,假设以下配置,与 my.destination 关联的队列将 max-delivery-attempts 设置为 3last-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>

下表示例演示了如何使用通配符匹配一组地址。

示例描述

#

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

news.europe.#

匹配 news.europe,news.europe.sport,news.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.