第 5 章 消息地址和队列

AMQ 7 引入了一种新的灵活寻址模型,使您可以定义适用于任何消息传递协议的标准消息传递模式。因此,配置队列和类似主题的行为的过程发生了显著的变化。

5.1. 处理更改

AMQ 6 将 JMS 概念实施为可直接配置的目标,如队列、主题和持久订阅。

示例:AMQ 6 中的默认队列和主题配置

<destinations>
     <queue physicalName="my-queue" />
     <topic physicalName="my-topic" />
</destinations>

AMQ Broker 7 使用地址、路由类型和队列来实现队列和类似主题的行为。地址 代表消息传递端点。队列与地址相关联.路由类型 定义消息如何分发到与地址关联的队列。路由类型有两种:任意 广播 将消息分发到匹配地址内的单个队列,而 多播将 消息分发到与该地址关联的每个队列。

通过将队列与地址和路由类型关联,您可以实施各种消息传递模式,如点对点(队列)和发布订阅(类似主题)。

示例:AMQ Broker 7 中的点对点地址配置

在本例中,当代理在 address.foo 上收到信息时,消息将路由到 my-queue。如果有多个任播队列与该地址相关联,则消息在队列间均匀分布。

<address name="address.foo">
  <anycast>
    <queue name="my-queue"/>
  </anycast>
</address>

示例:在 AMQ Broker 7 中发布订阅地址配置

在这个示例中,当代理在 topic.foo 上收到消息时,信息的副本将会被路由到 my-topic-1my-topic-2

<address name="topic.foo">
  <multicast>
    <queue name="my-topic-1"/>
    <queue name="my-topic-2"/>
  </multicast>
</address>

相关信息