Freigeben über


COM+-Dispenser-Manager

Der Dispenser-Manager bietet Ressourcenpooling für die Ressourcenspender und stellt sicher, dass eine von einem Ressourcenspender bereitgestellte Ressource ordnungsgemäß in der Transaktion des Anwendungsobjekts eingetragen ist. Der Spender-Manager gibt ressourcen, die am Ende der Lebensdauer eines Objekts noch reserviert sind, automatisch zurück, wodurch die Möglichkeit von Ressourcenverlusten ausgeschlossen wird. Der Spender-Manager kann einen Ressourcenspender bitten, eine neue Ressource zu erstellen oder Ressourcen im Leerlauf zu zerstören, wenn dies erforderlich ist, um die Lagerbestände anzupassen, anstatt statische Einstellungen zu verwenden.

Hinweis

Da für die Anwendung verfügbar gemachte Ressourcenspenderschnittstellen keine COM-Schnittstellen sein müssen, kann der Dispenser-Manager in einem Prozess verwendet werden, ohne COM zu initialisieren, z. B. zur Unterstützung des ODBC-Ressourcenspenders.

 

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

Der Bestandsstatistik-Manager

Der Dispenser-Manager verwendet den Inventurstatistik-Manager , um die Ressourcenbestandsebenen des Pools zu verwalten. Der Bestandsstatistik-Manager führt einen Datensatz darüber, wann jede Ressource verwendet wurde, und entfernt Ressourcen aus dem Bestand, wenn sie seit x Sekunden nicht verwendet wurden, wobei der Wert von x pro Ressource festgelegt wird, wenn die Ressource erstellt wird.

Die Holder-Komponente

Der Spender-Manager fragt alle 10 Sekunden jeden Halter ab, eine vom Dispenser-Manager erstellte Komponente, die den Ressourcenbestand für jeden Ressourcenspender auflistet, damit er seinen Ressourcenbestand neu anpassen kann. Jeder Besitzer ruft den Bestandsstatistik-Manager auf, um Bestandsebenen für jeden Ressourcentyp vorzuschlagen. Daher kann der Inhaber den Ressourcenspender bitten, ein Inventar zu erstellen oder zu zerstören.

Der Halter und der Ressourcenspender kommunizieren, um Ressourcen eines bestimmten Typs anzufordern. Zwischen dem Halter und dem Ressourcenspender bestehen die folgenden Beziehungen:

  • 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ückgeben.
  • Der Halter und der Ressourcenspender arbeiten zusammen, um die Größe des Ressourcenpools beizubehalten.

COM+-Ressourcenspenderkonzepte