3.5.5. 将 STOMP 目的地映射到 AMQ 代理地址和队列
在发送消息和订阅时,STOMP 客户端通常包含 目的地
标头。目的地名称是字符串值,映射到代理上的目的地。在 AMQ Broker 中,这些目的地映射到 地址 和 队列。有关目的地帧的更多信息,请参阅 STOMP 规格。
以发送以下消息的 STOMP 客户端为例(包含标题和正文):
SEND destination:/my/stomp/queue hello queue a ^@
SEND
destination:/my/stomp/queue
hello queue a
^@
在这种情况下,代理会将消息转发到与地址 /my/stomp/queue
关联的任何队列。
例如,当 STOMP 客户端发送消息(通过使用 SEND
帧)时,指定的目的地映射到地址。
当客户端发送 SUBS CRIBE 或
帧时,它的工作方式相同,但在本例中,AMQ Broker 将 UNSUBSCRIBE
目的地
映射到队列。
SUBSCRIBE destination: /other/stomp/queue ack: client ^@
SUBSCRIBE
destination: /other/stomp/queue
ack: client
^@
在前面的示例中,代理会将 目的地
映射到队列 /other/stomp/queue
。
将 STOMP 目的地映射到 JMS 目的地
JMS 目的地也映射到代理地址和队列。如果要使用 STOMP 向 JMS 目的地发送信息,STOMP 目的地必须遵循相同的约定:
通过在队列名称 by
jms.queue
前发送或订阅 JMS Queue。例如,要向JMS
Queue 的顺序发送消息,STOMP 客户端必须发送帧:SEND destination:jms.queue.orders hello queue orders ^@
SEND destination:jms.queue.orders hello queue orders ^@
Copy to Clipboard Copied! 通过在主题名称 by
jms.topic
前发送或订阅 JMS 主题。例如,要订阅JMS
Topic,STOMP 客户端必须发送类似如下的帧:SUBSCRIBE destination:jms.topic.stocks ^@
SUBSCRIBE destination:jms.topic.stocks ^@
Copy to Clipboard Copied!