JMS メッセージ・セレクター

メッセージ・セレクターにより、JMS コンシューマーは特定のトピックまたはキューから、より選択的にメッセージを受け取ることができます。

メッセージ・セレクターは、条件式において、メッセージ・プロパティーおよびヘッダーを基準として使用します。 これらの式はブール論理を使用して、どのメッセージを JMSInput ノードなどのクライアントに配信するかを宣言します。

以下の表は、メッセージ・セレクターの構造を例示しています。 これは、JMSPriority ヘッダーまたは アプリケーション制御のプロパティー myProperty1 などの ID から構成されます。 セレクター・ストリングは、演算子とそれに続くリテラルを指定する必要があります。

エレメント 有効な値
ID
  • ヘッダー・フィールド参照のプロパティー (JMSPrioritymyProperty1、など)
  • 次の値は使用できません。NULL、TRUE、FALSE、NOT、AND、OR、BETWEEN、LIKE、IN、IS。
演算子

AND、OR、LIKE、BETWEEN、=、<>、<、>、<=、>=、IS NULL、IS NOT NULL

リテラル
  • 2 つのブール・リテラル、TRUE および FALSE。
  • +25、-399、40 などのように小数点がない、正確な数値リテラル。
  • 近似値リテラル。 これらは、-21.4E4、5E2、+34.4928 などのように、浮動小数または 10 進数を使用できます。

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

これは、送信者によって優先度が 567、または 8 であるとマークされたメッセージだけを JMSInput ノードに配信することを示します。 この場合、生成されるストリングの先頭には、JMSPriority という ID が付きます。

メッセージ ID > WMBRK123456

これは、メッセージ ID が指定の値よりも大きいメッセージを戻します。 この場合、生成されるストリングの先頭には、JMSMessageID という ID が付きます。

再送 FALSE

これは、再送されていないメッセージだけがノードによって受信されることを示します。 この場合、生成されるストリングの先頭には、JMSRedlivered という ID が付きます。

相関 ID = WMBRKABCDEFG

これは、値 WMBRKBABCDEFG と等しい相関 ID を持つメッセージを戻します。 この場合、生成されるストリングの先頭には、JMSCorrelationID という ID が付きます。

関連概念
JMS トランザクション特性
関連資料
アプリケーション通信モデル用の JMS プロパティー
JMS メッセージ・ドメイン・プロパティー
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ac24876_