[z/OS]

Besondere Eigenschaften der gruppeninternen Warteschlangensteuerung

Die spezifischen Eigenschaften der gruppeninternen Warteschlangenbildung, einschließlich der Invalidierung von Objekt-Handles, der Selbstwiederherstellung und der Wiederholungsfähigkeit des gruppeninternen Warteschlangenbildungsagenten sowie des gruppeninternen Warteschlangenbildungsagenten und der Serialisierung.

Invalidierung von Objektkennungen (MQRC_OBJECT_CHANGED)

Wenn nach dem Öffnen des Objekts festgestellt wird, dass sich die Attribute eines Objekts geändert haben, macht der Warteschlangenmanager die Objektkennung mit MQRC_OBJECT_CHANGED bei seiner nächsten Verwendung ungültig.

In der gruppeninternen Warteschlangensteuerung gelten folgende Regeln für die Invalidierung von Objektkennungen:
  • Wenn die Warteschlange SYSTEM.QSG.TRANSMIT.QUEUE während der Öffnungsverarbeitung im Pfad der Namensauflösung enthalten war, da die gruppeninterne Warteschlangensteuerung zum Zeitpunkt der Öffnung aktiviert war (ENABLED), die gruppeninterne Warteschlangensteuerung bei der Einreihung jedoch inaktiviert (DISABLED) war, macht der Warteschlangenmanager die Objektkennung ungültig und gibt für die Einreihungsanforderung mit MQRC_OBJECT_CHANGED einen Fehler aus.
  • Wenn die Warteschlange SYSTEM.QSG.TRANSMIT.QUEUE während der Öffnungsverarbeitung im Pfad der Namensauflösung nicht enthalten war, da die gruppeninterne Warteschlangensteuerung zum Zeitpunkt der Öffnung inaktiviert war (DISABLED), die gruppeninterne Warteschlangensteuerung bei der Einreihung jedoch aktiviert (ENABLED) war, macht der Warteschlangenmanager die Objektkennung ungültig und gibt für die Einreihungsanforderung mit MQRC_OBJECT_CHANGED einen Fehler aus.
  • Wenn die Warteschlange SYSTEM.QSG.TRANSMIT.QUEUE während der Öffnungsverarbeitung im Pfad der Namensauflösung enthalten war, da die gruppeninterne Warteschlangensteuerung zum Zeitpunkt der Öffnung aktiviert war, die Definition von SYSTEM.QSG.TRANSMIT.QUEUE bei der Einreihung jedoch geändert war, macht der Warteschlangenmanager die Objektkennung ungültig und gibt für die Einreihungsanforderung mit MQRC_OBJECT_CHANGED einen Fehler aus.

Eigene Wiederherstellung des Agenten der gruppeninternen Warteschlangensteuerung

Wenn der Agent der gruppeninternen Warteschlangensteuerung abnormal beendet wird, wird die Nachricht CSQM067E ausgegeben, und der Agent der gruppeninternen Warteschlangensteuerung wird erneut gestartet.

Neuversuchsfunktion des Agenten der gruppeninternen Warteschlangensteuerung

Wenn der Agent der gruppeninternen Warteschlangensteuerung beim Zugriff auf die Warteschlange SYSTEM.QSG.TRANSMIT.QUEUE ein Problem feststellt (da diese beispielsweise nicht definiert oder mit den falschen Attributen definiert ist, in ihr Einreihungen unterdrückt sind oder ein anderer Grund vorliegt), unternimmt der Agent der gruppeninternen Warteschlangensteuerung einen Neuversuch.

Der Agent der gruppeninternen Warteschlangensteuerung beobachtet kurze und lange Wiederholungszähler und -intervalle. Diese unveränderlichen Werte für Zähler und Intervalle lauten wie folgt:
Tabelle 1. Werte für kurze und lange Wiederholungszähler und -intervalle
Konstant Wert
Zähler für kurze Wiederholungsversuche 10
Intervall für kurze Wiederholungsversuche 60 seconds = 1 min
Zähler für lange Wiederholungsversuche 999,999,999
Intervall für lange Wiederholungsversuche 1200 seconds = 20 min

Agent für gruppeninterne Warteschlangensteuerung und Serialisierung

Der Versuch vom Agenten der gruppeninternen Warteschlangensteuerung, den Zugriff auf die gemeinsam genutzten Warteschlangen während einer gerade ausgeführten Peerwiederherstellung zu serialisieren, schlägt möglicherweise fehl.

Wenn ein Warteschlangenmanager in einer Gruppe mit gemeinsamer Warteschlange fehlschlägt, solange der Agent der gruppeninternen Warteschlangensteuerung nicht festgeschriebene Nachrichten in gemeinsam genutzten Warteschlangen verarbeitet, wird der Agent der gruppeninternen Warteschlangensteuerung beendet und die Peerwiederherstellung der gemeinsam genutzten Warteschlange wird für den fehlschlagenden Warteschlangenmanager ausgeführt. Da es sich bei der Peerwiederherstellung der gemeinsam genutzten Warteschlange um eine asynchrone Aktivität handelt, können der fehlschlagende Warteschlangenmanager und auch der Agent der gruppeninternen Warteschlangensteuerung für diesen Warteschlangenmanager bereits neu gestartet werden, wenn die Peerwiederherstellung der gemeinsam genutzten Warteschlange noch nicht abgeschlossen ist. Dies ermöglicht wiederum die außerordentliche Vorabverarbeitung von festgeschriebenen Nachrichten, solange die Nachrichten noch wiederhergestellt werden. Um sicherzustellen, dass die Nachrichten nicht in falscher Reihenfolge verarbeitet werden, serialisiert der Agent der gruppeninternen Warteschlangensteuerung gemeinsam genutzte Warteschlangen, indem er den API-Aufruf MQCONNX ausgibt.

Der Versuch vom Agenten der gruppeninternen Warteschlangensteuerung, den Zugriff auf die gemeinsam genutzten Warteschlangen während einer gerade ausgeführten Peerwiederherstellung zu serialisieren, schlägt möglicherweise fehl. Es wird eine Fehlernachricht ausgegeben und der Agent der gruppeninternen Warteschlangensteuerung wird in den Neuversuchsstatus versetzt. Sobald die Peerwiederherstellung des Warteschlangenmanagers abgeschlossen ist (beispielsweise beim nächsten Neuversuch), kann der Agent der gruppeninternen Warteschlangensteuerung gestartet werden.