メッセージ・プロパティーの処理
以降の処理に影響を与えるメッセージ・プロパティーを使用することができます。
始める前に
このタスクについて
メッセージ・プロパティーには、以下の 2 つのタイプがあります。
- システム・プロパティー (JMS ヘッダー、JMSX プロパティー、および JMS_IBM_properties を含む)
- ユーザー・プロパティー。
メッセージ・プロパティーを使用して、後のメディエーションが処理するメッセージに影響を与えたり、下流のアプリケーションまたはメディエーションによる処理に影響を与えることができます。メディエーション構成時の セレクター・フィールドのルール・セットが、メッセージ・プロパティーの値をテストします。
SIMessage インターフェースを 使用して、プロパティーにアクセス、変更、およびクリアすることができます (SIMessageを参照)。メソッドには以下の 3 つのセットがあります。
- これらのプロパティーは、システム・プロパティーで機能し、さらに
名前がプレフィックス user. で修飾されている場合はユーザー・プロパティーで機能します。
- getMessageProperty
- setMessageProperty
- deleteMessageProperty
- clearMessageProperties
- 以下のプロパティーは、ユーザー・プロパティーでのみ機能し、
プレフィックス user. は必要ありません。
- getUserProperty
- setUserProperty
- deletUserProperty
- clearUserProperties
- getUserPropertyNames は、メッセージ内にあるユーザー・プロパティーの名前のリスト を返します。
手順
例
メッセージ・プロパティーを使用するメディエーション機能コードは、 以下のコード断片例のようになります。
String task = (String)msg1.getUserProperty("task");
if (task != null) {
if (task.equals("addColor")) {
msg1.setMessageProperty(SIProperties.JMS_IBM_Format, "colorful");
msg1.setUserProperty("background","green");
msg1.setUserProperty("foreground","purple");
msg1.setUserProperty("depth",new Integer(3));
msg1.deleteUserProperty("task");
}
else {
msg1.clearUserProperties();
}
}