Beginn der Änderung

Nachrichten in einer WebSphere MQ-Nachrichtengruppe empfangen

Durch die Konfiguration des MQInput-Knotens können Sie Nachrichten empfangen, die sich in einer WebSphere MQ-Nachrichtengruppe befinden.

Mit den folgenden Eigenschaften im MQInput-Knoten wird die Verarbeitung von Nachrichten in einer WebSphere MQ-Nachrichtengruppe gesteuert:

Aktivieren Sie Logische Reihenfolge, wenn Sie sicherstellen möchten, dass Nachrichten, die Bestandteil einer Nachrichtengruppe sind, in der Reihenfolge im Nachrichtenfluss empfangen werden, die von der sendenden Anwendung festgelegt wurde. Wenn Sie diese Option nicht aktivieren, werden Nachrichten, die als Teil einer Gruppe gesendet werden, nicht in einer vorgegebenen Reihenfolge empfangen. Diese Eigenschaft wird der Option MQGMO_LOGICAL_ORDER des MQGMO-Aufrufs der MQI-Schnittstelle zugeordnet. Weitere Informationen zu den Optionen, zu denen diese Eigenschaft eine Zuordnung durchführt, finden Sie im Abschnitt Application Programming Reference im WebSphere MQ Version 6 Information Center online oder im Version 5.3-Handbuch auf der Webseite der Bibliothek zu WebSphere MQ.

Wenn Sie den Wert Nach WS-Reihenfolge in der Eigenschaft Modus für Reihenfolge festlegen, verarbeitet der Nachrichtenfluss die Nachrichten in der Gruppe in der Reihenfolge, die durch die Warteschlangenattribute definiert ist; diese Reihenfolge wird bei der Verarbeitung der Nachrichten garantiert eingehalten. Dieses Verhalten entspricht dem Verhalten, das gilt, wenn die Eigenschaft Zusätzliche Instanzen auf null gesetzt ist. Der Nachrichtenfluss verarbeitet die Nachrichten in einem einzelnen Ausführungsthread, und eine Nachricht wird komplett verarbeitet, bevor die nächste aus der Warteschlange abgerufen wird. Wenn Sie diesen Wert nicht angeben, ist es möglich, dass mehrfache Threads innerhalb eines einzelnen Nachrichtenflusses mehrere Nachrichten verarbeiten; es gibt keine Garantie dafür, dass die letzte Nachricht in einer Gruppe, welche zur COMMIT- oder ROLLBACK-Aktion auffordert, komplett verarbeitet wird, nachdem alle anderen Nachrichten in der Gruppe verarbeitet worden sind.

Aktivieren Sie Logische Reihenfolge, und geben Sie den Wert Nach WS-Reihenfolge in der Eigenschaft Modus für Reihenfolge an, wenn Sie sicherstellen möchten, dass nur eine Instanz des Nachrichtenflusses die Gruppennachrichten in der Reihenfolge verarbeitet, die von der sendenden Anwendung festgelegt wurde.

Wenn Sie Alle Nachrichten verfügbar aktivieren, erfolgen der Nachrichtenabruf und die Nachrichtenverarbeitung nur, wenn alle Nachrichten in einer einzigen Gruppe verfügbar sind. Die Nachrichten in einer Gruppe werden also erst empfangen, wenn sich alle Nachrichten der Gruppe in der Eingabewarteschlange befinden. Die Aktivierung dieses Kontrollkästchens wird empfohlen, wenn Ihr Nachrichtenfluss Gruppennachrichten verarbeiten muss. Wenn Sie dieses Kontrollkästchen nicht aktivieren, empfängt der Nachrichtenfluss die Nachrichten in der Reihenfolge, in der sie in der Eingabewarteschlange eintreffen; falls eine Nachricht in der Gruppe nicht in der Eingabewarteschlange eintrifft, wartet der Nachrichtenfluss auf sie und kann weitere Nachrichten erst verarbeiten, wenn diese Nachricht eintrifft. Diese Eigenschaft wird der Option MQGMO_ALL_MESSAGES_AVAILABLE des MQGMO-Aufrufs der MQI-Schnittstelle zugeordnet. Weitere Informationen zu den Optionen, zu denen diese Eigenschaft eine Zuordnung durchführt, finden Sie im Abschnitt Application Programming Reference im WebSphere MQ Version 6 Information Center online oder im Version 5.3-Handbuch auf der Webseite der Bibliothek zu WebSphere MQ.

Wenn Sie Festschreiben nach Nachrichtengruppe aktivieren, wird die Nachrichtenverarbeitung erst nach dem Empfang der letzten Nachricht einer Gruppe und deren Verarbeitung festgeschrieben. Wenn Sie dieses Kontrollkästchen nicht aktivieren, wird nach jeder vollständigen Übergabe einer Nachricht im Nachrichtenfluss eine Festschreibung vorgenommen. Diese Eigenschaft ist nur von Bedeutung, wenn Sie Logische Reihenfolge ausgewählt haben. Es wird empfohlen, dieses Kontrollkästchen zusammen mit dem Kontrollkästchen Alle Nachrichten verfügbar auszuwählen, weil dadurch gewährleistet ist, dass die gesamte Nachrichtengruppe abgerufen und in derselben Arbeitseinheit verarbeitet wird. Somit entfällt das Risiko, dass der Nachrichtenfluss unendlich auf das Eintreffen von bestimmten Nachrichten in der Gruppe in der Eingabewarteschlange wartet.

So stellen Sie sicher, dass der Nachrichtenfluss, der Gruppennachrichten verarbeitet, nicht auf nicht verfügbare Nachrichten wartet:
  • Vermeiden Sie, dass mehrere Nachrichtenflüsse dieselbe Eingabewarteschlange lesen, wenn Gruppennachrichten abgerufen werden.
  • Vermeiden Sie die Implementierung weiterer Instanzen eines Flusses, der Gruppennachrichten abruft.
  • Vermeiden Sie die Verwendung abgelaufener Nachrichten in Nachrichtengruppen.
  • Wenn abgelaufene Nachrichten verwendet werden sollen, vergewissern Sie sich, dass entweder alle Nachrichten über dieselbe Ablaufzeit verfügen, oder dass die erste Nachricht in der Gruppe vor dem Rest der Gruppe abläuft. Wenn die erste Nachricht in einer Gruppe nicht abgerufen werden kann, lässt sich die Gruppe niemals in logischer Reihenfolge starten.

Beginn der ÄnderungWenn ein Nachrichtenfluss auf eine Gruppennachricht wartet, die nicht innerhalb des Warteintervalls eintrifft, wird eine BIP2675-Warnung ausgegeben. Von diesem Moment an versucht der Nachrichtenfluss immer, die nächste Gruppennachricht abzurufen, und verarbeitet andere Eingangsnachrichten erst, nachdem er die nächste Gruppennachricht empfangen hat. Ende der Änderung

Beginn der ÄnderungDeshalb muss der Nachrichtenfluss manuell gestoppt und jede unvollständige Nachrichtengruppe aus der Eingabewarteschlange gelöscht werden, wenn die erwartete Gruppennachricht nicht eingeht oder verfallen ist.Ende der Änderung

Ein Nachrichtenfluss kann nicht alle Nachrichten in einer Gruppe in einem einzigen Vorgang empfangen.

Wenn Sie den Wert Ja oder Nein in der Eigenschaft Transaktionsmodus angeben, werden alle Segmente in einer Nachricht im Nachrichtenfluss als einzelne Nachricht empfangen. Folglich kann der Nachrichtenfluss sehr große Nachrichten empfangen, die zu Speicherproblemen im Broker führen können. Wenn Sie für die Eigenschaft Transaktionsmodus den Wert Automatisch festlegen, werden die Nachrichtensegmente als einzelne Nachrichten empfangen.

Zugehörige Verweise
MQInput-Knoten
Zugehörige Informationen
WebSphere MQ Version 6 Information Center online
WebSphere MQ-Bibliothekswebseite
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:28:28

ac25700_

Ende der Änderung