Sie können diesen Mustercode erweitern, um mehr über die Suche in WebSphere MQ-Warteschlangen zu erfahren. Hinweise zur Vorgehensweise finden Sie in den folgenden Abschnitten.
Im Nachrichtenfluss 'BrowseGet' wurde die angezeigte Nachricht mithilfe eines MQGet-Knotens aus der Eingabewarteschlange entfernt, wenn die Personalnummer '2' entsprach. Bei Verwendung der Standardoptionen für den Knoten wurde die Eingabenachricht sowohl für den Anzeige- als auch für den Abrufvorgang gelesen und syntaktisch analysiert. Da die ursprüngliche Nachricht zwischen dem Anzeige- und dem Abrufvorgang nicht geändert wurde, ist die erneute Analyse überflüssig. Legen Sie folgende Eigenschaften für den MQGet-Knoten fest:
Durch die Änderung dieser Eigenschaften ergibt sich Folgendes:
Es kann festgestellt werden, ob die Eingabenachricht im Design Ihres Nachrichtenflusses gelesen oder aus ihm entfernt wurde. In einigen Fällen ist es jedoch nicht möglich festzustellen, ob die Nachricht angezeigt wurde. Der Versuch, eine Nachricht zu entfernen, die bereits entfernt wurde, ist ein überflüssiger Schritt, bei dem ein MQGet-Knoten dazu verwendet wird, die Nachricht an das NoMsg-Terminal weiterzugeben.
Sie können die folgende Prüfung hinzufügen, mit der vor dem Eintritt in den MQGet-Knoten festgestellt wird, ob die Nachricht bereits angezeigt wurde:
LocalEnvironment.MQ.GET.Browsed = TRUE
Das Feld 'LocalEnvironment.MQ.GET.Browsed' ist nicht vorhanden für Nachrichten, die noch nicht angezeigt wurden.
Es kann sinnvoll sein, dass der MQInput-Knoten an den Beginn der Eingabewarteschlange zurückkehrt und diese noch einmal durchsucht, weil Sie die Nachrichten vielleicht erneut anzeigen möchten oder weil einige Nachrichten zuvor gefehlt haben. Nachrichten können beispielsweise fehlen, wenn die Eigenschaft 'MsgDeliverySequence' (Reihenfolge der Nachrichtenzustellung) einer Warteschlange auf MQMDS_PRIORITY gesetzt ist und eine Nachricht in dieser Warteschlange eintrifft, deren Priorität höher ist als die im Browser angegebene Priorität.
Setzen Sie die Eigenschaft Suchzeitlimit (ms) zurücksetzen des MQInput-Knotens auf ein positives Intervall in Millisekunden. Treffen innerhalb dieses Intervalls keine Nachrichten in der Eingabewarteschlange ein, führt der MQInput-Knoten einen Suchlauf vom Beginn der Warteschlange durch.
Falls sich immer noch staffmsg1-Nachrichten in der Warteschlange befinden, werden diese erneut durchsucht. Die erneute Durchsuchung der Nachrichten ist nur erkennbar, wenn der Nachrichtenfluss zur Verarbeitung der Nachrichten geändert wird.