Klicken Sie auf die folgenden Links, um mehr über die Verwendung der Nachrichtenflussüberwachung zu erfahren:
Im Mustercode 'Web Service Aggregation' werden die Spuren eines Geschäftsdatenelements überwacht. Es ist ein Nachweis erforderlich, dass das Datenelement die Nachrichtenflüsse durchlaufen hat. Der Inhalt von <PartNumber> in der folgenden Eingabenachricht wird aufgezeichnet; in diesem Fall lautet der Wert ABC1234.
Anhand dieses Datenelements wird der Verarbeitungsfortschritt in jedem Nachrichtenfluss verfolgt, der in allen Empfangs- und Sendeknoten überwacht wird.
Um Überwachungsereignisse für dieses Geschäftsdatenelement miteinander zu verknüpfen, werden die Daten in der Überwachungskonfiguration als ID der übergeordneten Transaktion verwendet.
Der Mustercode verwendet fünf Nachrichtenflüsse und wird gestartet, indem die vorherige SOAP-XML-Nachricht in den SOAPInput-Knoten des Nachrichtenflusses 'WSAggregationFanOut.msgflow' gestellt wird.
Unter Ereignisnutzdaten ist angegeben, dass die Geschäftsdaten PartNumber überwacht werden.
Der Parent transaction correlator (Korrelator der übergeordneten Transaktion) gibt das Feld PartNumber aus der Eingabenachricht an. Indem Sie hier und in jedem anderen überwachten Knoten den Feldverweis angeben, können Sie nach den abschließenden Ereignissen für Informationen suchen, die für ABC1234 relevant sind.
Der Wert ABC1234 ist in jeder Geschäftsnachricht im Mustercode 'Web Service Aggregation' enthalten, der Feldname entspricht aber nicht unbedingt immer dem XPATH-Ausdruck $Root/SOAP/Body/ns:OrderMessage/localElement/PartNumber. Sie müssen sicherstellen, dass für jeden Knoten der richtige XPATH-Wert angegeben wird.
Alle MQOutput-Knoten in diesem Nachrichtenfluss sowie alle Empfangs- und Sendeknoten in den übrigen vier Nachrichtenflüssen werden ähnlich konfiguriert.
Geben Sie folgende Befehle ein, um in Ihrem Broker die Überwachung für Nachrichtenflüsse in diesem Mustercode zu aktiveren:
mqsichangeflowmonitoring MeinBROKER -c active -e MeineAG -f WSAggregationFanOut
mqsichangeflowmonitoring MeinBROKER -c active -e MeineAG -f WSAggregationMQtoSOAP
mqsichangeflowmonitoring MeinBROKER -c active -e MeineAG -f WSAggregationTargetWS
mqsichangeflowmonitoring MeinBROKER -c active -e MeineAG -f WSAggregationSOAPtoMQ
mqsichangeflowmonitoring MeinBROKER -c active -e MeineAG -f WSAggregationFanIn
Dabei stehen MeinBROKER für den Namen Ihres Brokers und MeineAG für den Namen Ihrer Ausführungsgruppe.
Diese Befehle aktivieren die Überwachung für alle Nachrichtenflüsse. Ausgenommen hiervon ist der Nachrichtenfluss, der Überwachungsereignisse verarbeitet (WSAggregationReadMonitordata.msgflow).
Hinweis: Aktivieren Sie nicht die Überwachung für die gesamte Ausführungsgruppe und aktivieren Sie außerdem die Überwachung nicht explizit für den Nachrichtenfluss 'WSAggregationReadMonitordata.msgflow'. Andernfalls gerät dieser Nachrichtenfluss in eine Endlosschleife, da der Empfangsknoten für jede von ihm verarbeitete Nachricht ein Überwachungsereignis ausgibt. Dieses Ereignis wird dann von demselben Nachrichtenfluss gelesen, der wiederum ein weiteres Ereignis generiert.
Geben Sie folgenden Befehl ein, um die Überwachung zu inaktivieren:
mqsichangeflowmonitoring MeinBROKER -c inactive -e MeineAG -j
Dabei stehen MeinBROKER für den Namen Ihres Brokers und MeineAG für den Namen Ihrer Ausführungsgruppe.
Erstellen Sie im WebSphere MQ Explorer ein Thema mit der Themenzeichenfolge:
$SYS/Broker/MeinBROKER/Monitoring/MeineAG/#
Dabei stehen MeinBROKER für den Namen Ihres Brokers und MeineAG für den Namen Ihrer Ausführungsgruppe.
Erstellen Sie im WebSphere MQ Explorer eine Subskription für das Thema, das Sie zuvor erstellt haben, und geben Sie die Zieladresse an:
WSAGGREGATIONSAMPLE.MONITOR
Im folgenden Diagramm ist ein Beispiel für eine Veröffentlichungsnachricht dargestellt. Der Brokername lautet in diesem Fall BROKERV70L und der Name der Ausführungsgruppe ist default:
Der Nachrichtenfluss 'WSAggregationReadMonitordata.msgflow' verarbeitet die Überwachungsdaten aus der Warteschlange 'WSAGGREGATIONSAMPLE.MONITOR'. Die Warteschlange wird über einen MQInput-Knoten gelesen. Ein dem MQInput-Knoten nachgeschalteter Collector-Knoten gibt die Geschäftsdaten (übergeordnete Transaktions-ID) als Korrelations-ID an.
Im Collector-Knoten ist der Korrelationspfad auf $Root/XMLNSC//@*[local-name()='parentTransactionId'] gesetzt, sodass alle Monitorereignisnachrichten, für die das Attribut parentTransactionId einen gemeinsamen Wert hat, in einer einzelnen Datensammlung erfasst werden.
Wenn alle Ereignisse für einen Geschäftsdatenausschnitt gelesen wurden, wird eine Übersichtsnachricht in die Datei businessdata.xml geschrieben. Im folgenden Diagramm ist die Beispielausgabedatei ABC1234.xml dargestellt: