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