次の方法で共有


既定のメッセージ プロパティ

更新 : 2007 年 11 月

MessageQueue コンポーネントのインスタンスを作成するときには、そのコンポーネントが送信するメッセージに適用される一連の既定のプロパティを設定できます。これにより、メッセージを定義するときの手間を省くことができるうえ、Message オブジェクトを作成または設定せずに Send メソッドを詳細に制御できるようになります。

bx4cas5f.alert_note(ja-jp,VS.90).gifメモ :

DefaultPropertiesToSend 値は、Message オブジェクトを使わずに送信されたメッセージにのみ適用されます。Message オブジェクトを使用してメッセージを送信する場合は、Message オブジェクトのプロパティが適用されます。

既定のメッセージ プロパティを設定するには、[プロパティ] ウィンドウの DefaultPropertiesToSend セクションで値を設定するか、または DefaultPropertiesToSend オブジェクトのプロパティに値を設定します。これらの既定のプロパティは、受信確認メッセージを生成するかどうか、それをどこに送信するか、メッセージをどのように暗号化して認証するか、およびメッセージのタイムアウト期限を制御します。

このページでは、これらのプロパティで重要性の高いものについて、設定方法の概要を説明します。

メッセージの優先順位

メッセージに対して既定のプロパティを設定すると、メッセージが送信先のキューに送信される順序を制御できます。コンポーネントによって送信されるメッセージの既定の優先順位を決定するには、Priority プロパティを設定します。優先順位の既定値は [normal] であり、それより低い優先順位や高い優先順位を設定できます。

メッセージの優先順位設定により、メッセージがキュー内で配置される位置が決まります。高い優先順位で送信されたメッセージはキューの上位に配置され、低い優先順位で送信されたメッセージはキューの下位に配置されます。同じ優先順位が設定された複数のメッセージをキューが受信した場合、キュー内でのメッセージの配置は送信された時刻に従います。

bx4cas5f.alert_note(ja-jp,VS.90).gifメモ :

トランザクション キューでメッセージが処理される順序はトランザクション自体によって決定されるため、トランザクション キューに送信されるメッセージには優先順位を設定できません。

受信確認および応答に関するプロパティ

いくつかの既定のプロパティを設定して、コンポーネントのメッセージに対する応答および受信確認を生成するかどうか、およびその応答をどのように処理するかを決定できます。すべてのメッセージング操作に対して既定値として設定できるプロパティには、次のものがあります。

  • AcknowledgeType プロパティと AdministrationQueue プロパティ。これらのプロパティを使用して、メッセージが送信先のキューに到着したとき、到着に失敗したとき、または送信先のアプリケーションによってメッセージがキューから取得されたときに受信確認メッセージを生成するかどうかを決定できます。詳細については、「方法 : メッセージの受信確認を要求する」を参照してください。

  • ResponseQueue プロパティを使用して、メッセージをキューから取得したアプリケーションが送信するメッセージの返信パスを指定できます。このメッセージは、キュー マネージャではなくアプリケーションによって生成されるという点で、受信確認メッセージとは異なります。

  • UseJournalQueue プロパティ。このプロパティを使用して、送信するメッセージのコピーをジャーナル キューに保存するかどうかを指定できます。同様に、UseDeadLetterQueue プロパティを設定して、配信できないメッセージを配信不能キューに送信するかどうかを指定できます。

タイムアウト プロパティ

メッセージをきめ細かく制御できるように、時間に関連するプロパティが 2 つ用意されています。どちらも、メッセージが破棄される前にシステム上にどれだけ長く存在できるかを決定します。TimeToReachQueue プロパティを使用すると、メッセージが送信先のキューへの到着を試みる時間の長さを指定できます。TimeToBeReceived プロパティを使用すると、メッセージがシステム内に保持される時間の長さを指定できます。これは、メッセージが送信されてから、送信先のアプリケーションによってキューから削除されるまでの時間です。いずれかのタイマ間隔が経過すると、メッセージ キューはメッセージを破棄します。

タイマの期限が経過してメッセージが破棄されると、キュー マネージャはさらに次の手順を実行する場合があります。

  • UseDeadLetterQueue プロパティを true に設定した場合は、破棄されたメッセージのコピーが指定された配信不能キューに送信されます。

  • AcknowledgeType プロパティで受信確認 (エラー) を送信するように設定した場合は、指定された管理キューに受信確認メッセージが送信されます。

既定では、いずれのプロパティにもタイムアウト間隔は設定されていません。両方のプロパティに値を設定した場合は、TimeToBeReceived プロパティの値が優先されます。

参照

処理手順

方法 : MessageQueue コンポーネントのインスタンスを作成する

その他の技術情報

メッセージの送信とシリアル化