3.5.5. STOMP 宛先の AMQ Broker アドレスおよびキューへのマッピング

メッセージを送信してサブスクライブする場合、STOMP クライアントには通常、destination ヘッダーが含まれます。宛先名は文字列の値で、ブローカーの宛先にマッピングされます。AMQ Broker では、これらの宛先は アドレス および キュー にマッピングされます。宛先フレームの詳細は、STOMP 仕様を参照してください。

たとえば、以下のメッセージ (ヘッダーおよびボディー) を送信する STOMP クライアントの例を考えます。

SEND
destination:/my/stomp/queue

hello queue a
^@

この場合、ブローカーは /my/stomp/queue アドレスに関連付けられたキューへメッセージを転送します。

たとえば、STOMP クライアントが (SEND フレームを使用して) メッセージを送信する場合、指定された宛先がアドレスにマッピングされます。

これは、クライアントが SUBSCRIBE または UNSUBSCRIBE フレームを送信する場合 と同じように機能しますが、この場合は AMQ Broker は destination をキューにマッピングします。

SUBSCRIBE
destination: /other/stomp/queue
ack: client

^@

上記の例では、ブローカーは destination を キュー /other/stomp/queue にマップします。

STOMP 宛先と JMS 宛先のマッピング

JMS 宛先は、ブローカーアドレスおよびキューにマッピングされます。STOMP を使用してメッセージを JMS 宛先に送信する場合、STOMP 宛先は同じ規則に従う必要があります。

  • JMS Queue を送受信するには、jms.queue. でキュー名を追加します。たとえば、JMS キューの orders にメッセージを送信するには、STOMP クライアントはフレームを送信する必要があります。

    SEND
    destination:jms.queue.orders
    hello queue orders
    ^@
  • jms.topic. でトピック名を追加し、JMS Topic を送信またはサブスクライブします。たとえば、stocks JMS Topic をサブスクライブするには、STOMP クライアントは以下のようなフレームを送信する必要があります。

    SUBSCRIBE
    destination:jms.topic.stocks
    ^@