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>