次の方法で共有


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

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

手記

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

 

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

The Inventory Statistics Manager

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

ホルダー コンポーネント

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

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

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

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