次の方法で共有


COM+ ディスペンサー マネージャー

ディスペンサー マネージャーは、リソース ディスペンサーのリソース プールを提供し、リソース ディスペンサーによって提供されるリソースが、アプリケーション オブジェクト トランザクションに正しく参加するようにします。 ディスペンサー マネージャーは、オブジェクトの有効期間が終了した時点でまだ予約されているリソースを自動的に回収し、リソース "リーク" の可能性を排除します。ディスペンサー マネージャーは、静的設定を使用するのではなく、インベントリ レベルを調整するために必要に応じて、新しいリソースを作成するか、アイドル状態のリソースを破棄するようにリソース ディスペンサーに要求することができます。

Note

アプリケーションに公開されるリソース ディスペンサー インターフェイスは、COM インターフェイスである必要がないため、たとえば ODBC リソース ディスペンサーをサポートするために、COM を初期化することなくディスペンサー マネージャーをプロセスで使用することができます。

 

リソースを作成すると、リソース ディスペンサーは、アイドル状態のリソースを破棄するまでに、プール内に残すことができる期間を指定できます。 ディスペンサー マネージャーで実行されるスレッドは、常にこれらのアイドル状態のリソースを探します。

インベントリ統計マネージャー

ディスペンサー マネージャーでは、インベントリ統計マネージャーを使用して、プール リソースのインベントリ レベルを管理します。 インベントリ統計マネージャは、各リソースがいつ使用されたかの記録を保持し、x 秒間使用されなかったリソースをインベントリから削除します。x の値は、リソースの作成時にリソースごとに設定されます。

ホルダー コンポーネント

ディスペンサー マネージャーは、各リソース ディスペンサーのリソース インベントリを一覧表示する各ホルダー (ディスペンサー マネージャーによって作成されたコンポーネント) を 10 秒ごとにポーリングし、リソース インベントリを再調整できるようにします。 各ホルダーは、インベントリ統計マネージャーを呼び出して、リソースの種類ごとにインベントリ レベルを提案します。 その結果から、ホルダーは、リソース ディスペンサーにインベントリの作成または破棄を依頼することができます。

ホルダーとリソース ディスペンサーは、特定の種類のリソースを要求するために通信します。 ホルダーとリソース ディスペンサーの間には、次の関係があります。

  • ホルダーは、リソース ディスペンサーにリソースを要求できます。 リソース ディスペンサーは、使用可能なリソースを返すか、新しいリソースを作成します。
  • ホルダーは、アプリケーションにリソースが不要になったことをリソース ディスペンサーに通知し、リソース プールに返すことができます。
  • ホルダーとリソース ディスペンサーが連携して、リソース プールのサイズを維持します。

COM+ リソース ディスペンサーの概念