メッセージの動作を識別したり、影響を与えるメッセージ・ヘッダー内のフィールドを使用できます。
このタスクについて
ルーティング・フィールド (
メッセージ・ヘッダーのルーティング・アドレスの設定を参照) 以外にも、メッセージ・ヘッダーにはいくつかの使用可能なフィールドがあります。これらのフィールドは、メッセージの重要な品質や特性 (優先順位、信頼性、識別など) に影響を与えます。JMS メッセージ・ヘッダー・フィールドに相当するヘッダー・フィールド、およびそれらを使用可能なメソッドについては、
メッセージ・ヘッダー情報を参照してください。
手順
- メソッド handle (MessageContext context) 内で、ファンクション・メディエーション・コードを挿入するメディエーション・ハンドラー内のポイントを位置指定します。
インターフェースは MessageContext であり、MessageContext で提供されるメソッドに関与するのが自分のみでない限り、これを SIMessageContext にキャストする必要があります。
- SIMessage を MessageContext オブジェクトから取得します。例えば、SIMessage
message = ((SIMessageContext)context).getSIMessage();
- これらの例と同様の方法で、メディエーション・ヘッダー機能をビルドします。メッセージ・ヘッダー情報の参照情報を参考にしてください。
- メッセージの信頼性を設定します。例えば、siMessage.setReliability(Reliability.ASSURED_PERSISTENT);.
この場合、サービスの品質は、最高レベルに設定されます。
- メッセージの存続時間、つまりメッセージが処理されない場合にそれが除去される前にキューに残しておくことのできる時間を、ミリ秒単位で設定します。例えば、siMessage.setRemainingTimeToLive(1000000); は、メッセージの有効期限が切れるまでの残り時間を 1000 秒に設定します。