Hitachi

Cosminexus V11 アプリケーションサーバ Cosminexus Reliable Messaging


2.6.2 メッセージセレクタ

QueueSession.createReceiver()またはcreateBrowser()メソッドの引数に,メッセージセレクタを指定できます。メッセージセレクタは,受信するメッセージの条件を指定するためのjava.lang.String型の構文です。受信側アプリケーションはメッセージセレクタを使用することによって,構文の条件に合うヘッダおよびプロパティの値を持つメッセージをキューから受信できます。

注意

受信用共用キューからメッセージを受信または閲覧する場合は,メッセージセレクタは使用できません。

メッセージセレクタには,識別子,比較演算子,リテラルおよび論理演算子を組み合わせた構文を指定します。

〈この項の構成〉

(1) 識別子

次に示す識別子を指定できます。識別子は半角英字であり,大文字と小文字が区別されます。

不正な識別子を指定した場合はInvalidSelectorExceptionが発生します。

(2) 比較演算子

等号(=)だけを指定できます。比較演算子は半角記号です。

不正な比較演算子を指定した場合はInvalidSelectorExceptionが発生します。

(3) リテラル

指定できるリテラルは識別子によって異なります。各識別子に指定できるリテラルを次に示します。

不正なリテラルを指定した場合はInvalidSelectorExceptionが発生します。

(4) 論理演算子

ANDだけを指定できます。論理演算子は半角英字であり,大文字だけを指定できます。

JMSXGroupIDについての式とJMSXGroupSeqについての式の組み合わせだけが有効で,論理演算子の前後には空白が必要です。

ORやNOTを使用したり,JMSCorrelationIDについての式が含まれる場合はInvalidSelectorExceptionが発生します。

(5) 指定できる構文の例

メッセージセレクタに指定できる構文の例を次に示します。

JMSCorrelationID = 'aaa'
JMSXGroupID = 'bbb'
JMSXGroupSeq = 1
JMSXGroupID = 'bbb' AND JMSXGroupSeq = 2
JMSXGroupSeq = 3 AND JMSXGroupID = 'ccc'