メッセージ・セレクターにより、JMS コンシューマーは特定のトピックまたはキューから、より選択的にメッセージを受け取ることができます。
メッセージ・セレクターは、条件式において、メッセージ・プロパティーおよびヘッダーを基準として使用します。 これらの式はブール論理を使用して、どのメッセージを JMSInput ノードなどのクライアントに配信するかを宣言します。
以下の表は、メッセージ・セレクターの構造を例示しています。 これは、JMSPriority ヘッダーまたは アプリケーション制御のプロパティー myProperty1 などの ID から構成されます。 セレクター・ストリングは、演算子とそれに続くリテラルを指定する必要があります。
エレメント | 有効な値 |
ID |
|
演算子 | AND、OR、LIKE、BETWEEN、=、<>、<、>、<=、>=、IS NULL、IS NOT NULL |
リテラル |
|
JMSInput ノードは、アプリケーション・プロパティーをフィルターに掛けたり組み込むためのセレクターを指定する、フリー書式制御ストリング PropertySelector を提供します。 このノードには、ID が暗黙的でノードによって生成される、特定のヘッダー・プロパティーの属性もあります。 ヘッダー・セレクターでは、ストリングの演算子およびリテラル部分を指定する必要があります。
複数のセレクターが指定された場合、 ノードは個々のセレクター・ストリングが AND 演算子で連結されて各セレクター・ストリング部分が括弧で囲まれている、複合セレクター・ストリングを生成します。
セレクター属性 | 説明 |
プロパティー・セレクター | OrderValue > 100.00 このストリングは、示されているとおりに直接使用されます。 |
タイムスタンプ | BETWEEN 1057576423231 AND 10575788993265
これら 2 つの Java 時間 (Java 時間は 1970 年 1 月 1 日から経過したミリ秒) の間に書き込まれる メッセージだけが JMSInput ノードに配信されます。 この場合、生成されるストリングの先頭には、JMSTimestamp という ID が付きます。 |
デリバリー・モード | PERSISTENT これは、送信者によって PERSISTENT とマークされた メッセージだけを JMSInput ノードに配信することを示します。 この場合、生成されるストリングの先頭には、JMSDeliveryMode という ID が付きます。 |
優先順位 | >= 5 AND <= 8 これは、送信者によって優先度が 5、 6、7、または 8 であるとマークされたメッセージだけを JMSInput ノードに配信することを示します。 この場合、生成されるストリングの先頭には、JMSPriority という ID が付きます。 |
メッセージ ID | > WMBRK123456 これは、メッセージ ID が指定の値よりも大きいメッセージを戻します。 この場合、生成されるストリングの先頭には、JMSMessageID という ID が付きます。 |
再送 | FALSE
これは、再送されていないメッセージだけがノードによって受信されることを示します。 この場合、生成されるストリングの先頭には、JMSRedlivered という ID が付きます。 |
相関 ID | = WMBRKABCDEFG
これは、値 WMBRKBABCDEFG と等しい相関 ID を持つメッセージを戻します。 この場合、生成されるストリングの先頭には、JMSCorrelationID という ID が付きます。 |