2.2. Apache ActiveMQ Artemis コア API と JMS 宛先
JMS 宛先が Apache ActiveMQ Artemis アドレスにマップされる方法を簡単に説明します。
Apache ActiveMQ Artemis コアは JMS に依存しません。JMS トピックの概念はありません。JMS トピックは、0 個以上のキューがバインドされたアドレス (トピック名) としてコアに実装されます。このアドレスにバインドされる各キューが、トピックサブスクリプションを表します。同様に、JMS キューは、JMS キューを表す単一のキューがバインドされるアドレス (JMS キュー名) として実装されます。
通常、すべての JMS キューは、コアキュー名の先頭に文字列 jms.queue
が付加されたコアキューにマップさ れます。たとえば、orders.europe
の名前を持つ JMS キューが、jms.queue.orders.europe
の名前でコアキューにマップされます。コアキューがバインドされるアドレスもコアキュー名で指定されます。
JMS トピックの場合、サブスクリプションを表すキューがバインドされるアドレスは、文字列 jms.topic.
を JMS トピックの名前の先頭に付加して指定されます。たとえば、news.europe
という名前の JMS トピックは、コアアドレス jms.topic.news.europe
にマップされます。
つまり、orders.europe
という名前の JMS キューへの JMS メッセージを送信する場合は、サーバーを介してアドレス jms.queue.orders.europe
にバインドされるコアキューにルーティングされます。news.europe
という名前の JMS トピックへの JMS メッセージを送信する場合は、サーバーを介してアドレス jms.topic.news.europe
にバインドされるコアキューにルーティングされます。
名前が orders.europe
の JMS キューの設定を行うには、対応するコアキュー jms.queue.orders.europe
を設定する必要があります。
<!-- expired messages in JMS Queue "orders.europe" will be sent to the JMS Queue "expiry.europe" --> <address-setting match="jms.queue.orders.europe"> <expiry-address>jms.queue.expiry.europe</expiry-address> ... </address-setting>