第23章 キュー属性
キュー属性は、設定ファイルを使用するか、コア API を使用するかいずれかの方法で設定できます。本章では、各属性の設定方法と属性の影響について説明します。
23.1. 事前定義されたキュー
キューは、コアレベルまたは JMS レベルで設定により事前定義できます。最初に JMS レベルについて説明します。
JMS レベル
以下は、JBOSS_DIST/jboss-as/server/PROFILE/deploy/hornetq/hornetq-jms.xml
設定ファイルで事前定義されたキューを示しています。
<queue name="selectorQueue"> <entry name="/queue/selectorQueue"/> <selector string="color='red'"/> <durable>true</durable> </queue>
<queue> のこの name 属性は、キューの名前を定義します。これを JMS レベルで行う場合は、命名規則に従い、コアキューの実際の名前が
jms.queue.selectorQueue
になるようにします。
必須の <entry> 要素は、キューを JNDI にバインドするために使用される名前を設定します。<queue> には、同じキューをさまざまな名前にバインドする複数の <entry> 要素を含めることができます。
オプションの <selector> 要素は、事前定義されたキューが持つ JMS メッセージセレクターを定義します。セレクターに一致するメッセージのみがキューに追加されます。<queue> から省略された場合、デフォルト値は
null
になります。
オプションの <durable> 要素はキューが永続化されたかどうかを指定します。<queue> から省略された場合、デフォルト値は
true
です。
コアレベル
キューは、JBOSS_DIST/jboss-as/server/PROFILE/deploy/hornetq/hornetq-configuration.xml
ファイルにおいてコアレベルで事前定義できます。
<queues> <queue name="jms.queue.selectorQueue"> <address>jms.queue.selectorQueue</address> <filter string="color='red'"/> <durable>true</durable> </queues>
これは、JMS 設定に非常に似ていますが、以下の例外があります。
- キューの名前属性が JMS の命名規則がないキューに対して使用された実際の名前になります。
- アドレス要素は、メッセージをルーティングするために使用されるアドレスを定義します。
- エントリー要素はありません。