3.5.5. 将 STOMP 目的地映射到 AMQ Broker 地址和队列
在发送消息和订阅时,STOMP 客户端通常包含一个目标 头
。目标名称是字符串值,映射到代理上的目的地。在 AMQ Broker 中,这些目的地映射到 地址 和队列。如需有关目的地帧的更多信息,请参阅 STOMP 规范。
使用发送以下信息(header 和 body)的 STOMP 客户端示例:
SEND destination:/my/stomp/queue hello queue a ^@
在这种情况下,代理会将消息转发到与地址 /my/stomp/queue
关联的任何队列。
例如,当 STOMP 客户端发送一条信息时(通过使用 SEND
帧),指定的目的地映射到一个地址。
当客户端发送 SUBSCRIBE
或 UNSUBSCRIBE
帧时,它的工作方式相同,但在这种情况下,AMQ Broker 会将 目的地
映射到队列。
SUBSCRIBE destination: /other/stomp/queue ack: client ^@
在前面的示例中,代理将 目的地
映射到队列 /other/stomp/queue
。
将 STOMP 目的地映射到 JMS 目的地
JMS 目的地也映射到代理地址和队列。如果要使用 STOMP 发送消息到 JMS 目的地,STOMP 目的地必须遵循相同的规范:
通过由
jms.queue.
加上队列名称来发送或订阅 JMS Queue。例如,要将消息发送到 JMS Queue,STOMP 客户端必须发送该帧:SEND destination:jms.queue.orders hello queue orders ^@
通过添加 topic name by
jms.topic.
,发送或订阅 JMS Topic。例如,要订阅到stocks
JMS Topic,STOMP 客户端必须发送类似如下的框架:SUBSCRIBE destination:jms.topic.stocks ^@