4.5. 为点到点和发布订阅消息配置地址


您还可以使用点对点 和发布 与订阅语义配置地址。

通常不建议配置使用点到点和发布与发布与发布相关的语义的地址。但是,当您想要时,它很有用,例如,名为 order 的 JMS 队列,以及名为 order 的 JMS 主题。 不同的路由类型使地址在客户端连接上显示不同。在这种情况下,JMS 队列制作者发送的消息使用任何广播 路由 类型。由 JMS 主题制作者发送的消息使用 多播路由 类型。当 JMS 主题消费者连接到代理时,它将附加到自己的订阅队列。但是,JMS 队列消费者附加到任何广播 队列

下图显示了共同使用的点对点和发布订阅消息示例。

以下步骤演示了如何为点对点和发布订阅消息传递配置地址。

注意

这种情境的行为取决于所使用的协议。对于 JMS,主题和队列制作者和消费者之间有明确的区别,因此逻辑简单明了。AMQP 等其他协议没有这种区别。通过 AMQP 发送的消息默认被 任何 广播 和消费者 路由。如需更多信息,请参阅 第 3 章 网络连接:协议

步骤

  1. 打开 <broker-instance-dir>/etc/broker.xml 配置文件。
  2. 围绕 address 元素中 的队列 元素嵌套任何广播配置元素。例如:

    <configuration ...>
      <core ...>
        ...
        <address name="orders">
          <anycast>
            <queue name="orders"/>
          </anycast>
        </address>
      </core>
    </configuration>
  3. 在地址 中添加空的多播 配置元素。

    <configuration ...>
      <core ...>
        ...
        <address name="orders">
          <anycast>
            <queue name="orders"/>
          </anycast>
          <multicast/>
        </address>
      </core>
    </configuration>
    注意

    通常,代理根据需要创建订阅队列,因此不需要列出 多播 元素内的特定队列元素。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.