4.8.3. 协议管理器和地址
协议管理器 使用的组件将协议特定的概念映射到 AMQ Broker 地址模型中使用的概念;队列和路由类型。在某些情况下,协议管理器可能会在代理上自动创建队列。
例如,当客户端发送带有地址 /house/room1/lights
和 /house/ room2/lights
的 MQTT 订阅包时,MQTT 协议管理器了解这两个地址需要 多播
语义。因此,协议管理器首先查找以确保为这两个地址 启用多播
。如果没有,它会尝试动态创建它们。如果成功,协议管理器将为客户端请求的每个订阅创建特殊订阅队列。
每个协议的行为稍有不同。下表描述了在请求订阅帧到各种类型的 队列时
通常会发生的情况。
如果队列是这个类型… | 协议管理器的典型操作是 to… |
---|---|
Durable subscription queue |
查找适当的地址,并确保启用了 特殊名称允许协议管理器快速识别所需的客户端订阅队列,应该客户端稍后断开连接并重新连接。 当客户端取消订阅队列时,会删除队列。 |
临时订阅队列 |
查找适当的地址,并确保启用了 当客户端断开连接队列时,会删除队列。 |
点到点队列 |
查找适当的地址,并确保启用了 如果队列是自动创建的,则在没有消费者且其中没有消息后自动删除。 |