Subskriptionen abmelden

Eine oder mehrere Subskriptionen für einen bestimmten Subskribenten können über die Befehlsnachricht Subskribent abmelden abgemeldet werden. Diese Informationen wird an die Steuerwarteschlange des Brokers (SYSTEM.BROKER.CONTROL.QUEUE) gesendet. Die Nachricht muss von dem Subskribenten gesendet werden, der sich für die Subskription ursprünglich registrieren ließ.

Es gibt andere Möglichkeiten, eine Subskription abzumelden; diese werden im Folgenden beschrieben:

Auch wenn eine Subskribentenanwendung eine Nachricht um Abmelden einer Subskription sendet und als Antwort über die erfolgreiche Abmeldung informiert wird, kann es trotzdem vorkommen, dass anschließend noch Veröffentlichungen in der Subskribentenwarteschlange eintreffen, wenn diese zum Zeitpunkt der Abmeldung gerade vom Broker verarbeitet wurden. Dies kann dazu führen, dass sich in der Warteschlange des Subskribenten ein Rückstau an unverarbeiteten Nachrichten bildet. Die Anwendung kann diese noch nicht verarbeiteten Nachrichten aus der Warteschlange löschen, indem sie wiederholt den 'sleep'-Befehl und den MQGET-Aufruf mit der entsprechenden Korrelations-ID sendet.

Ähnlich ist es, wenn ein Subskribent eine permanente dynamische Warteschlange verwendet und sich beim Beenden abmeldet und die Warteschlange mit der Option PurgeandDelete schließt; auch hier kann es vorkommen, dass die Warteschlange noch nicht leer ist. Der Grund dafür ist, dass Veröffentlichungen vom Broker zu der Zeit, zu der die Warteschlange gelöscht wurde, möglicherweise noch nicht festgeschrieben sind. In diesem Fall wird vom MQCLOSE-Aufruf ein Q_NOT_EMPTY-Rückkehrcode ausgegeben. Dieses Problem kann von der Anwendung umgangen werden, indem der MQCLOSE-Aufruf wiederholt inaktiviert und erneut ausgegeben wird.

Zugehörige Konzepte
Subskriptionen
Zugehörige Tasks
Ständige Veröffentlichungen verwenden
Subskription
Zugehörige Verweise
Befehlsnachricht zum Abmelden eines Subskribenten
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2005 Letzte Aktualisierung: Nov 17, 2005
aq13060_