ローカル コンピューター上で作成したすべてのトリガーは、[コンピューターの管理] の詳細ウィンドウに一覧表示されます。この一覧を表示するには、コンソール ツリーの [トリガー] フォルダーで [トリガー] をクリックします。既定では、各トリガーについて次の項目が詳細ウィンドウに表示されます。

  • トリガー名

  • 監視するキューの名前

  • トリガーに適用される規則の数

  • トリガーを有効にするかどうか

  • トリガーをシリアル化するかどうか

  • メッセージ処理の種類

トリガーを作成する前に、メッセージ キュー トリガー サービスを実行するアカウントに必要なアクセス許可が付与されているかどうかを確認します。処理の種類が "取得" または "トランザクションとして取得" であるトリガーに関連付けられる既存のすべてのキューについて、"メッセージのピーク" アクセス許可と "メッセージの受信" アクセス許可が必要です。

トリガーを作成した後は、既存の規則をそのトリガーに適用できます。

トリガーを作成する

トリガーを作成するには
  1. [コンピューターの管理] を開きます。

  2. コンソール ツリーで、[トリガー] フォルダーの下にある [トリガー] を右クリックします。

    場所:

    • コンピューターの管理/サービスとアプリケーション/メッセージ キュー/トリガー/トリガー

  3. [新規作成] をポイントし、[トリガー] をクリックします。

  4. [新しいトリガー] ダイアログ ボックスの 1 ページ目で、[トリガー名] に新しいトリガーの名前を入力します。

  5. 監視するキューとしてユーザー定義キューを指定する場合は、[キューのパス名] に、トリガーを関連付けるキューのパスを入力します。パスの構文は、<コンピューター名>\<キュー名> または .\<キュー名> (ローカル コンピューターの場合) になります。形式名は使用しないでください。または、コンピューター上に自動的に作成されるキューの名前をクリックします。

  6. メッセージ処理の種類を指定するため、[ピーク]、[取得]、または [トランザクションとして取得] を選択します。

  7. トリガーを有効にする場合は [使用可能にする] チェック ボックスをオンにします。トリガーを無効にする場合は [使用可能にする] チェック ボックスをオフにします。

  8. トリガーをシリアル化する場合は [シリアル化] チェック ボックスをオンにします。トリガーをシリアル化しない場合は [シリアル化] チェック ボックスをオフにします。そして [次へ] をクリックします。

  9. [新しいトリガー] ダイアログ ボックスの 2 ページ目で、既存の規則をトリガーに適用するため、[規則] の一覧で規則を選択し、[適用] をクリックします。

  10. 規則をトリガーから削除するには、[適用される規則] の一覧で規則を選択し、[解除] をクリックします。

  11. トリガーでテストする規則の順序を変更するには、[上へ] ボタンおよび [下へ] ボタンをクリックします。

  12. 必要な適用される規則の一覧が完成したら、[完了] をクリックします。

その他の考慮事項

  • Windows® 7 で [コンピューターの管理] を開くには、[スタート] ボタンをクリックし、[コンピューター] を右クリックして [管理] をクリックします。

  • Windows Server® 2008 R2 で [コンピューターの管理] を開くには、[スタート] ボタンをクリックし、[すべてのプログラム]、[管理ツール]、[コンピューターの管理] の順にクリックします。

  • コンソール ツリーの管理するキューの [トリガー] フォルダーからこの手順を実行することもできます。そのためには、次のようにして [新しいトリガー] ダイアログ ボックスを開きます。[トリガー] を右クリックし、[新規作成] をポイントし、[トリガー] をクリックします。この場合、キューは自動的に監視するキューになります。

  • トリガーを関連付けるユーザー キューの名前を [キューのパス名] に入力すると、そのキューが存在するかどうかの確認が行われます。入力した名前を持つキューが見つからない場合は、エラー メッセージが表示されます。

  • トリガーをシリアル化するかどうかを選択できます。シリアル化されたトリガーは、そのトリガーに関連付けられたすべての規則の条件をメッセージごとにテストします。適用可能な操作をすべて実行した後、メッセージの到着順に従って次のメッセージに進みます。ただし、メッセージが一度に 1 つしか処理されないため、シリアル化されていないトリガーよりスループットは低下します。

    シリアル化されていないトリガーは高いスループットを実現できますが、メッセージに対する操作をメッセージの到着順に実行できない場合があります。これは、たとえば、複数のメッセージが同時に処理されたときに発生します。特定のキューに対して複数のトリガーを作成し、そのうち少なくとも 1 つをシリアル化すると、すべてのトリガーが、シリアル化されていないものでもシリアル化されたトリガーとして動作します。シリアル化できるのは、処理の種類が "トランザクションとして取得" であるトリガーだけです。メッセージ処理の順序が重要である場合は、トリガーの起動順序がランダムであるため、各キューで使用するトリガーを 1 つだけにして、シリアル化オプションを有効にすることをお勧めします。特定のメッセージのグローバル一意識別子 (GUID) は順序に影響しません。

  • メッセージ キュー トリガー サービスは、既定では Network Service アカウントで実行されます。Network Service アカウントでメッセージ キュー トリガー サービスを実行しているときは、デスクトップとの対話は行われません。この機能が必要な場合は、メッセージ キュー トリガー サービスを Local System アカウントで実行するように設定し、[コンピューターの管理] でデスクトップとの対話を有効にすることができます。セキュリティの観点から、本当に必要な場合以外は既定のアカウントをセキュリティ レベルの低いアカウントに変更しないでください。メッセージ キュー トリガー サービスは、管理者のアクセス許可があるアカウントで実行する必要があります。

  • トリガーによって起動される実行可能ファイルは、メッセージ キュー トリガー サービスに割り当てられたものと同じセキュリティ特権で起動されます。

  • キューを削除しても、そのキューに関連付けられたトリガーは削除されません。同じ名前のキューを後で再作成すると、既存のトリガーがこのキューで使用されます。ただし、コンピューターを再起動するか、関連付けられたトリガーを無効にして再度有効にするまで、メッセージ キュー トリガー サービスはこの再作成されたキューを監視しません。トリガーに対して有効または無効なプロパティを設定する方法については、「トリガーおよびトリガーの規則のプロパティを表示または変更する」を参照してください。

その他の参照情報


目次