4.4. 配置发布订阅消息传递的地址
在发布订阅场景中,信息将发送到订阅一个地址的每个消费者。JMS 主题和 MQTT 订阅是发布订阅消息传递的两个示例。要确保与地址关联的队列以发布订阅方式接收消息,您可以在代理配置中为给定 地址
元素定义 多播路由
类型。
当使用 多播路由
类型在地址中收到消息时,代理会将消息的副本路由到与地址关联的每个队列。要减少复制的开销,每个队列只发送 对消息的引用,而不是完整副本。
下图显示了发布订阅消息传递的示例。
以下步骤演示了如何为发布订阅消息传递配置地址。
步骤
-
打开
<broker-instance-dir>/etc/broker.xml
配置文件。 在地址
中添加空的多播
配置元素。<configuration ...> <core ...> ... <address name="my.multicast.destination"> <multicast/> </address> </core> </configuration>
(可选)在地址中添加一个或多个队列元素,并在它们中
嵌套多播
元素。通常不需要这一步,因为代理会自动为客户端请求的每个订阅创建一个队列。
<configuration ...> <core ...> ... <address name="my.multicast.destination"> <multicast> <queue name="client123.my.multicast.destination"/> <queue name="client456.my.multicast.destination"/> </multicast> </address> </core> </configuration>