[z/OS]

Anforderungen automatisch zurückweisen, wenn kein Servant für ihre Verarbeitung verfügbar ist

Wenn ein Controller feststellt, dass ein Servant beendet wurde, bereinigt der Controller normalerweise alle anderen Verarbeitungsaufträge, die diesem Servant zugeteilt wurden. Wenn dieser Servant der letzte Servant ist, werden neue Verarbeitungsaufträge so lange in die Anforderungswarteschlange gestellt, bis wieder ein Servant verfügbar ist. Abhängig von der Zeit, die verstreicht, bis ein Servant verfügbar wird, kann es sein, dass diese Anforderungen beendet werden, weil das zulässige Zeitlimit für ihre Verarbeitung abgelaufen ist. Um dies zu verhindern, können Sie die Konfigurationseinstellung für einen Anwendungsserver ändern, um den Controller daran zu hindern, neue Anforderungen zu akzeptieren.

Informationen zu diesem Vorgang

Controller empfangen fortlaufend Anforderungen und teilen diese einem Servant zur Verarbeitung zu. Wenn ein Fehler auf Systemebene auftritt, z. B. ein Datenbankfehler, dann wird die Anforderungsverarbeitung gestoppt und die Anforderungen werden in den Warteschlangen zwischen Controller und Servants gesammelt. Während der Zeit, die benötigt wird, damit der Servant wieder verfügbar ist, bleiben die Anforderungen weiterhin in den Warteschlangen, bis ihr Zeitlimit abläuft. Wenn das Zeitlimit abläuft, wird die betreffende Anforderung aus der Warteschlange entfernt.

Wenn ein neuer Servant bereit ist, Anforderungen zu akzeptieren, dann kann es vorkommen, dass die nächste Anforderung in der Warteschlange das Zeitlimit beinahe erreicht hat, so dass der Zuteilungsprozess für die Anforderung nicht vollständig ausgeführt werden kann und der Servant erneut beendet wird. Erneut werden die Anforderungen in der Warteschlange gesammelt, bis ein neuer Servant zur Ausführung bereit ist, auf dem jedoch potenziell dasselbe Zeitlimitproblem auftreten kann. Wenn dieses Problem sich häufig wiederholt, wird es manchmal als Bouncing-Servant-Problem bezeichnet. Sie können eine der folgenden Vorgehensweisen verwenden, um dieses Problem zu lösen:

  • Sie können den Server so konfigurieren, dass er Situationen, in denen kein Server verfügbar ist, automatisch erkennt und die Annahme von Anforderungen so lange stoppt, bis die konfigurierte Mindestanzahl von Servants wieder für die Annahme von Anforderungen bereit ist. Dies ist die einfachste Vorgehensweise.
  • Sie können eine Automatisierungsroutine zur Behandlung des Problems erstellen, falls Sie feststellen können, dass ein Systemfehler aufgetreten ist, bevor Servants aufgrund von Zeitlimitüberschreitungen beendet werden. Diese Automatisierungsroutine kann den Befehl f Server, pauselisteners ausführen, um zu verhindern, dass dieser Server weiterhin Anforderungen akzeptiert. Die Routine muss anschließend feststellen können, wann sich die Situation ändert, und den Befehl f Server, resumelisteners ausführen, wenn der Systemfehler behoben wurde.
  • Sie können den Server so konfigurieren, dass er Situationen, in denen kein Server verfügbar ist, erkennt, die Annahme von Anforderungen stoppt und die zuvor beschriebene Automationsroutine erstellt. Die Automatisierungsroutine muss die unterschiedliche Verarbeitung erkennen, die stattfinden kann, weil der Server für die Erkennung einer Situation konfiguriert ist, in der kein Servant verfügbar ist:
    • Wenn der letzte Servant beendet wurde, obwohl der Befehl f Server, pauselisteners ausgeführt wurde, weist der Server alle Anforderungen zurück und gibt die Nachricht BBOO0299I aus. Der Server beginnt automatisch, Anforderungen zu akzeptieren, wenn die Mindestanzahl an Servants, für die er konfiguriert wurde, für die Verarbeitung bereit ist. Er gibt außerdem die Nachricht BBOO0300I aus, um anzuzeigen, dass die Verarbeitung von Anforderungen wiederaufgenommen wurde. Die Automatisierungsroutine muss daher erkennen können, dass der Server erneut Anforderungen akzeptiert, weil er festgestellt hat, dass die Mindestanzahl an Servants verfügbar ist.
    • Falls die angepasste Eigenschaft "control_region_confirm_recovery_on_no_srs" für den Server angegeben ist, gibt dieser die WTOR-Nachricht BBOO0297A zurück, wenn er feststellt, dass die Mindestanzahl an Servants, für die er konfiguriert wurde, bereit ist für die Verarbeitung von neuen Anforderungen. Sie müssen eine Antwort auf diese Nachricht eingeben, bevor der Server tatsächlich beginnt, Anforderungen zu akzeptieren.
    • Falls die Automatisierungsroutine den Server daran hindert, Servants aufgrund der Verarbeitung von Zeitlimitüberschreitungen zu beenden, muss sie auch erkennen, wann der Server wieder Anforderungen akzeptieren kann, und muss zu diesem Zeitpunkt den Befehl f Server, resumelisteners ausführen. Die Automatisierungsroutine kann so definiert werden, dass sie selbst erkennt, ob der Befehl f Server, resumelisteners ausgeführt werden muss oder nicht, je nachdem, ob die Nachricht BBOO0299I ausgegeben wird oder nicht. Diese Nachricht zeigt an, dass dem Server keine Servants mehr zur Verfügung stehen und dass er Anforderungen zurückweist. Diese Vorgehensweise birgt die meiste Komplexität, bietet aber auch die höchste Flexibilität.

Führen Sie die folgenden Schritte aus, wenn Sie den Server für die Behandlung von Situationen, in denen kein Server verfügbar ist, konfigurieren möchten:

Vorgehensweise

  1. Klicken Sie in der Administrationskonsole auf Server > Servertypen > WebSphere-Anwendungsserver, und wählen Sie den Anwendungsserver aus, für den Situationen, in denen kein Servant verfügbar ist, automatisch erkannt werden sollen.
  2. Klicken Sie unter "Weitere Eigenschaften" auf Angepasste Eigenschaften > Neu.
  3. Geben Sie control_region_dreg_on_no_srs im Feld "Name" und 1 im Feld "Wert" ein. Wird diese angepasste Eigenschaft auf 1 gesetzt, weist der Server alle Anforderungen zurück, die den Servants zugeteilt werden sollen, wenn er erkennt, dass kein Servant für die Verarbeitung dieser Anforderungen bereit ist. Wird diese Eigenschaft auf 0 (Null) gesetzt, ist diese Funktion inaktiviert.
  4. Geben Sie control_region_confirm_recovery_on_no_srs im Feld "Name" und 0 (null) oder 1 im Feld "Wert" ein. Wenn Sie im Feld "Wert" 0 eingeben, nimmt der Controller die Annahme von Anforderungen wieder auf, sobald die Mindestanzahl der Servants wieder verfügbar ist, um Anforderungen zu empfangen. Wenn Sie im Feld "Wert" 1 eingeben, gibt der Controller die WTOR-Nachricht BBOO0297A zurück, sobald er feststellt, dass die Mindestanzahl an Servants, für die der Server konfiguriert wurde, bereit ist, Anforderungen zu akzeptieren. Der Server wartet, bis er eine Antwort auf diese Nachricht erhält, bevor er tatsächlich wieder neue Anforderungen akzeptiert.
  5. Klicken Sie auf Überprüfen, wählen Sie Änderungen mit Knoten synchronisieren aus, und klicken Sie anschließend auf Speichern, um das Master-Repository mit Ihren Änderungen zu aktualisieren.

Ergebnisse

Wenn ein Controller feststellt, dass ein Servant beendet wurde, und dieser Servant der letzte Servant ist, nimmt der Controller keine neuen Verarbeitungsaufträge mehr an, bis die Mindestanzahl der Servants wieder für den Empfang von Anforderungen bereit ist.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=trun_auto_noservant
Dateiname:trun_auto_noservant.html