Freigeben über


COM+ Dispenser Manager

Der Dispenser-Manager stellt ressourcenpooling für die Ressourcenspender bereit und stellt sicher, dass eine ressource, die von einem Ressourcenspender bereitgestellt wird, ordnungsgemäß in der Transaktion des Anwendungsobjekts aufgelistet wird. Der Spendermanager übernimmt automatisch Ressourcen, die am Ende der Lebensdauer eines Objekts noch reserviert sind, wodurch die Möglichkeit von Ressourcenlecks beseitigt wird. Der Dispenser-Manager kann einen Ressourcenspender bitten, eine neue Ressource zu erstellen oder bei Bedarf Leerlaufressourcen zu zerstören, um Lagerbestände anzupassen, anstatt statische Einstellungen zu verwenden.

Anmerkung

Da ressourcenspenderschnittstellen, die der Anwendung zur Verfügung stehen, nicht als COM-Schnittstellen erforderlich sind, kann der Dispenser-Manager in einem Prozess verwendet werden, ohne COM zu initialisieren, z. B. um den ODBC-Ressourcenspender zu unterstützen.

 

Bei der Ressourcenerstellung kann der Ressourcenspender angeben, wie lange eine Leerlaufressource im Pool verbleiben darf, bevor sie zerstört wird. Ein Thread, der im Dispenser-Manager ausgeführt wird, sucht immer nach diesen Leerlaufressourcen.

Der Inventarstatistik-Manager

Der Dispenser-Manager verwendet den Bestandsstatistiken-Manager zum Verwalten der Ressourcenbestandsebenen des Pools. Der Bestandsstatistik-Manager verwaltet einen Datensatz darüber, wann jede Ressource verwendet wurde, und entfernt Ressourcen aus dem Bestand, wenn sie nicht für x Sekunden verwendet wurden, wobei der Wert von x pro Ressource festgelegt wird, wenn die Ressource erstellt wird.

Die Halterkomponente

Der Spendermanager fragt jeden Inhaberab, eine Komponente, die vom Dispenser-Manager erstellt wurde, die den Ressourcenbestand für jeden Ressourcenspender auflistet, alle 10 Sekunden, um es zu ermöglichen, den Ressourcenbestand zu aktualisieren. Jeder Inhaber ruft den Bestandsstatistikmanager auf, um Lagerbestände für jeden Ressourcentyp vorzuschlagen. Daher kann der Inhaber den Ressourcenspender bitten, entweder ein Inventar zu erstellen oder zu zerstören.

Der Inhaber und der Ressourcenspender kommunizieren, um Ressourcen eines bestimmten Typs anzufordern. Die folgenden Beziehungen bestehen zwischen dem Inhaber und dem Ressourcenspender:

  • Der Inhaber kann eine Ressource vom Ressourcenspender anfordern. Der Ressourcenspender gibt entweder eine verfügbare Ressource zurück oder erstellt eine neue Ressource.
  • Der Inhaber kann den Ressourcenspender benachrichtigen, dass eine Anwendung keine Ressource mehr benötigt und sie dann an den Ressourcenpool zurückgibt.
  • Der Inhaber und der Ressourcenspender arbeiten zusammen, um die Größe des Ressourcenpools aufrechtzuerhalten.

COM+ Resource Dispenser Concepts