メッセージセレクタ

JMSでは、メッセージをフィルタおよび分類するアプリケーションがサポートされています。 メッセージを作成する場合、そのメッセージにプロパティを設定できます。 コンシューマを作成する場合は、セレクタ文字列を指定できます。 メッセージは、そのセレクタがメッセージに適用されてtrueに評価された場合にのみコンシューマに渡されます。

メッセージセレクタ文字列は、SQL92のサブセットを使用して定義されるブール式です。 この文字列には、リテラル、ID(JMS組み込みメッセージプロパティおよびアプリケーション固有プロパティを指定)、空白文字、およびさまざまな演算子を含めることができます。 詳細については、『コンセプト』を参照してください。

P2Pモデルでは、メッセージセレクタはキューでの「ビュー」を作成するために使用されます。 メッセージが特定のコンシューマにより選択されていない場合、キューはこのメッセージを必要する他のコンシューマために保守します。 つまり、未選択メッセージは、他のコンシューマに再び割り当てられます。

pub/subモデルでは、未選択メッセージは破棄されます。 サブスクライバのセレクタがメッセージを拒否すると、このメッセージは、このサブスクライバに使用できなくなります。 同じトピックの他のサブスクライバは、メッセージセレクタによっては、このメッセージを受信することができます。

このセクションでは、P2Pおよびpub/subモデルを説明し、メッセージセレクタを使用する2つの例を示します。

チャット

チャットアプリケーションでは、簡単なテキストメッセージを交換できます。 この例は、pub/subモデルに基づいた簡単なチャットアプリケーションです。セレクタは、特定のユーザのメッセージ送信を拒否するために使用されます。

メール

メールアプリケーションは、メッセージ送信時にオフラインなっているユーザにメールメッセージを送信する場合に使用されます。 この例では、P2Pモデルを使用して簡単なメールプログラムを作成する方法を示します。セレクタは、どのメッセージを誰に送るかを決定するために使用されます。


Copyright © 1998-2003, Novell, Inc. All rights reserved.