Nachrichtenflüsse können so konfiguriert werden, dass sie Ereignisse ausgeben. Die Ereignisse können von anderen Anwendungen gelesen und zur Transaktionsüberwachung, Transaktionsprüfung und Geschäftsprozessüberwachung verwendet werden.
Ein Überwachungsereignis ist ein XML-Dokument, das dem Überwachungsereignisschema entspricht. Jedes Ereignis enthält die folgenden Informationen:
Weitere Informationen finden Sie im Abschnitt Überwachungsereignisse.
Eine Ereignisquellenadresse identifiziert eine Ereignisquelle in einem Nachrichtenfluss.
Da Terminalereignisse von jedem Knoten in einem Nachrichtenfluss ausgegeben werden können, sind sie als Alternative zu dedizierten Ereignisausgabeknoten oder untergeordneten Nachrichtenflüssen wie dem in SupportPac IA9V bereitgestellten einsetzbar.
Ereignisquellen geben nur dann Ereignisse aus, wenn die Überwachung für den Nachrichtenfluss aktiviert ist.
Jedes Terminal in einem Nachrichtenfluss kann eine Ereignisquelle sein. Wenn die Ereignisquelle aktiv ist, gibt sie jedes Mal ein Ereignis aus, wenn eine Nachricht das Terminal passiert, je nach Auswertung des eventFilter-Ausdrucks (siehe Optionen der Ereignisausgabe).
Ereignisquelle | Ereignisquellenadresse | Beschreibung |
---|---|---|
Transaktionsstart | Knotenname.transaction.Start | Das Ereignis wird ausgegeben, wenn die Nachricht aus dem Transportprotokoll gelesen wird. |
Transaktionsende | Knotenname.transaction.End | Das Ereignis wird ausgegeben, wenn WebSphere Message Broker die Verarbeitung der Nachricht vollständig beendet hat. |
Rollback der Transaktion | Knotenname.transaction.Rollback | Das Ereignis wird anstelle des Transaktionsendes ausgegeben, wenn der Nachrichtenfluss eine Ausnahmebedingung auslöst, die nicht innerhalb des Nachrichtenflusses abgefangen und verarbeitet wird. |
Ereignisse werden abhängig von der Auswertung des eventFilter-Ausdrucks ausgegeben (siehe Optionen der Ereignisausgabe).
Wenn ein Nachrichtenfluss seine Ausnahmebedingungen selbst verarbeitet, wird statt eines 'transaction.Rollback'-Ereignisses ein 'transaction.End'-Ereignis ausgegeben, weil der Nachrichtenfluss die Kontrolle über den Fehler übernommen hat und normal beendet wird. Wenn Sie in einem solchen Fall Fehler eindeutig erkennen müssen, können Sie an geeigneten Knoten im Nachrichtenfluss Terminalereignisse konfigurieren.
$Body/StockTrade/Details/Value > 10000
Auf diese Weise lässt sich die Anzahl der ausgegebenen Ereignisse sowie die Auslastung der Überwachungsanwendung reduzieren.3 >= $Root/MQMD/BackoutCount
$SYS/Broker/Broker/Monitoring/Ausführungsgruppe/Nachrichtenfluss
Die hierarchische Struktur ermöglicht den Abonnenten das Filtern der empfangenen Ereignisse. Ein Abonnent kann Ereignisse von allen Nachrichtenflüssen im Broker empfangen, während ein anderer nur die Ereignisse aus einer einzelnen Ausführungsgruppe empfängt.