メッセージ・コンテキストの使用

メッセージが仲介される方法に影響を与えるメッセージ・プロパティーを使用できます。

始める前に

このタスクを開始する前に、 情報がメディエーション・コンテキストに伝えられる方法について、メディエーション・コンテキスト情報を確認する必要があります。

このタスクについて

インターフェース SIMessageContext は、スーパーインターフェース MessageContext を持っています。 MessageContext のメソッドを使用すると、メッセージ・プロパティーのセットを管理できます。これにより、ハンドラー・チェーン内のハンドラーが、処理関連の状態を共有できるようになります。もっとも重要な点は、メソッド getProperty を使用すると、MessageContext から特定のプロパティーの値を取得でき、メソッド setProperty を使用すると、MessageContext に関連付けられているプロパティーの名前および値を設定できることです。また、この MessageContext のプロパティーの名前を表示したり、 MessageContext からプロパティー (名前と値のペア) を除去することもできます。

メディエーション実行時には、 現在のメディエーションの構成中に設定されたユーザー定義のすべてのプロパティー (メディエーション・コンテキスト・プロパティーの構成を参照) が MediationContext プロパティー・セットに適用されます。

手順

  1. メソッド handle (MessageContext context) 内で、ファンクション・メディエーション・コードを挿入するメディエーション・ハンドラー内のポイントを位置指定します。 メッセージ・プロパティーにアクセスするのに MessageContext メソッドを使用する場合は、 SIMessageContext で提供されるメソッドにも関与する場合以外は、 インターフェースを SIMessageContext にキャストする必要はありません。
  2. SIMessage を MessageContext オブジェクトから取得します。例えば、SIMessage message = ((SIMessageContext)context).getSIMessage();
  3. MessageContext メソッドを使用して、プロパティーを検索、または設定します。例えば、 プロパティーが構成時に、 名前が streetName、タイプが String、値が「Main Street」で定義されていた場合、street name を検索し印刷するためのコードは以下のようになります。

public boolean handle(MessageContext context) throws MessageContextException {
	
			........			
		{
								/* Retrieve the street name property */
								String myStreetName;
								myStreetName = (String) getProperty(streetName);
				
								/* Display property value */
				System.out.println(myStreetName);
				
		}
}

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjy1503
ファイル名:tjy1503.html