COM+キューコンポーネントとパーティション

COM+キューコンポーネントサービスは、パーティションの概念を完全にサポートします。 つまり、パーティション内のキューに置かれたコンポーネントが実行されると、メッセージがキューに置かれ、コンポーネントは最終的にコンポーネントのパーティション内で実行されます。

パーティション分割されたコンポーネントのキュー名

従来、キューに置かれたコンポーネントサービスは、アプリケーション名をキュー名として使用します。 つまり、コンピューターにアプリケーション名のインスタンスが1つしか存在しないパーティション以外のシナリオでは、各アプリケーション名に独自のメッセージキューがあります。

ただし、コンピューターに同じアプリケーション名のインスタンスが複数存在する可能性があるパーティションの場合、キューに置かれたコンポーネントサービスは、同じアプリケーション名を共有するキューに置かれたコンポーネントに対して同じキューを使用します。

キューに置かれたコンポーネントのアクティブ化

次のように、キューに置かれていないコンポーネントをアクティブ化するためにパーティションIDを使用する方法と同じ規則が、キューに置かれたコンポーネントにも適用されます。

  • キューに置かれたコンポーネントをアクティブ化するためにモニカーが使用され、パーティションIDが含まれている場合は、このパーティションIDを使用してパーティションが特定されます。 このパーティションIDは、アクティブ化されているコンポーネントのコンテキストに存在する可能性のあるパーティションIDよりも優先されます。
  • コンポーネントをアクティブ化するためにモニカーが使用されていない場合は、オブジェクトのコンテキストにあるパーティションIDが使用されます。
  • オブジェクトのコンテキストにパーティションIDが存在しない場合は、Active Directory内の既定のユーザーとパーティションのマッピングが使用されます。

Note

サーバーコンピューターがネットワークから切断されていて、サーバーの切断中にユーザーとパーティションセットのマッピングが変更された場合、パーティションキャッシュに古いユーザーとパーティションセットのマッピングが含まれている可能性があります。 これにより、ユーザーとパーティションセットのマッピングがコンポーネントのアクティブ化に使用されるメカニズムである場合、アクティブ化エラーが発生する可能性があります。

 

COM+イベントは、パーティションに完全に統合されています。 つまり、サブスクライバーは、アプリケーションがパーティション内に存在するパブリッシャーをサブスクライブできます。 このサブスクリプションを許可するために、サブスクライバークラスのコレクションには、イベントクラスのパーティションIDとイベントクラスのアプリケーションIDという2つのパーティション関連のプロパティが含まれています。

アプリケーション設計の制限事項

パーティションの実装

パーティション内のコンポーネントの登録とアクティブ化

COM+ パーティションとは