Die Baumstruktur für Ausnahmelisten ist ein Teil der logischen
Nachrichtenbaumstruktur, in den der Nachrichtenfluss Informationen zu Ausnahmebedingungen schreibt,
die bei der Verarbeitung einer Nachricht auftreten.
Das Stammverzeichnis der Baumstruktur für Ausnahmelisten heißt 'ExceptionList', und die
Baumstruktur enthält keine oder mehrere Ausnahmebeschreibungen. Die Baumstruktur für Ausnahmelisten
wird vom Nachrichtenfluss mit Daten gefüllt, wenn eine Ausnahmebedingung auftritt. Wenn während der Nachrichtenflussverarbeitung keine Ausnahmebedingungen auftreten, besteht die Ausnahmeliste, die dieser Nachricht zugeordnet ist, nur aus einem Stammelement. Im Klartext handelt es sich bei dieser Liste um eine leere Ausnahmebedingungsliste.
Der Zugriff auf die Baumstruktur für Ausnahmenlisten ist über andere Knoten im Nachrichtenfluss
möglich, die die Nachricht nach dem Auftreten der Ausnahmebedingung empfangen haben. Der Inhalt der
Baumstruktur für Ausnahmelisten kann nur in einem Knoten geändert werden, der eine Schnittstelle
zum Ändern der Struktur der abgehenden Nachricht bereitstellt, z. B. im
Compute-Knoten.
Wenn eine Ausnahme auftritt, wird die Nachrichtenverarbeitung ausgesetzt, und es wird eine Ausnahmebedingung ausgegeben. Die Steuerung geht an eine höhere Ebene über, d. h. an einen
umschließenden Abfangblock. Eine Ausnahmeliste wird zur Beschreibung der Fehlerbedingung erstellt,
und die gesamte Nachricht wird gemeinsam mit der lokalen Umgebung und der gerade gefüllten
Ausnahmeliste über einen Nachrichtenflusspfad zur Verarbeitung von Ausnahmebedingungen
weitergegeben.
Dem Eintrag 'ExceptionList' ist immer das Element 'RecoverableException' (Behebbare
Ausnahmebedingung) untergeordnet. Normalerweise wird im Stammverzeichnis nur ein untergeordnetes
Element erstellt; unter bestimmten Umständen können jedoch auch mehrere Elemente generiert werden. Das untergeordnetes Element der Ausnahmeliste enthält wiederum eine Reihe von untergeordneten
Elementen, von denen das letzte weitere Informationen in Bezug auf den Ausnahmetyp bereitstellt.
Die folgende Liste enthält einige der Ausnahmetypen, die enthalten sein können:
- FatalException (Schwer wiegende Ausnahmebedingung)
- RecoverableException (Behebbare Ausnahmebedingung)
- ConfigurationException (Konfigurationsausnahmebedingung)
- ParserException
- ConversionException
- DatabaseException (Datenbank-Ausnahmebedingung)
- UserException (Benutzer-Ausnahmebedingung)
- CastException (Umsetzungs-Ausnahmebedingung)
- MessageException (Nachrichten-Ausnahmebedingung)
- SqlException (SQL-Ausnahmebedingung)
- SocketException (Socket-Ausnahmebedingung)
- SocketTimeoutException (Socketzeitlimit-Ausnahmebedingung)
- UnknownException (Unbekannte Ausnahmebedingung)
Die folgende Abbildung zeigt die Struktur der Baumstruktur für Ausnahmelisten für eine behebbare
Ausnahme:
Die Struktur der Ausnahmebeschreibung kann sowohl wiederholt als auch verschachtelt sein und so
eine Baumstruktur für Ausnahmelisten erstellen. In dieser Baumstruktur gilt Folgendes:
- Die Verschachtelungstiefe (also die Anzahl der untergeordneten Elemente absteigend vom Stammverzeichnis) stellt immer detailliertere Informationen zu derselben Ausnahmebedingung zur Verfügung.
- Die Breite der Baumstruktur repräsentiert die Anzahl der separaten Ausnahmebedingungen, die vor dem Abbruch der Verarbeitung aufgetreten sind. Für gewöhnlich ist dies eine Ausnahmebedingung.
Diese ergibt eine Baumstruktur für Ausnahmelisten, die aus mehreren Ausnahmebeschreibungen besteht,
welche in Form von untergeordneten Elementen miteinander verbunden sind.
- Die nummerierten Punkte bedeuten in der Baumstruktur Folgendes:
- Dieses untergeordnete Element kann 'RecoverableException' (behebbare Ausnahmebedingung), 'ParserException' (Parser-Ausnahmebedingung), 'DatabaseException' (Datenbankausnahmebedingung),
'UserException' (Benutzerausnahmebedingung), 'ConversionException' (Konvertierungsausnahmebedingung) oder 'MessageException' (Nachrichtenausnahmebedingung) sein.
All diese Elemente verfügen über die angezeigten untergeordneten Elemente; falls vorhanden, ist das letzte untergeordnete Element mit seinem übergeordneten Element identisch.
- Dieses Element kann wiederholt vorkommen.
- Falls vorhanden, enthält dieses untergeordnete Element dieselben untergeordneten Elemente wie sein übergeordnetes Element.
Die untergeordneten Elemente in der Baumstruktur bestehen aus mehreren Namens-/Wertelementen, die detaillierte Informationen zur Ausnahmebedingung bieten, sowie aus keinen oder mehreren Namenselementen, deren Name 'Insert' lautet. Die NLS-Nachrichtennummer (NLS = National Language Support, Unterstützung der Landessprache), die in einem Namens-/Wertelement angegeben ist, identifiziert eine Fehlernachricht von WebSphere Message Broker. Die Insert-Werte werden zum Ersetzen der Variablen in dieser Nachricht verwendet und bieten detaillierte Informationen zur Ursache der Ausnahmebedingung.
Die Namens-/Wertelemente in der Ausnahmeliste, die in der Abbildung oben aufgeführt sind, werden
in der folgenden Tabelle beschrieben.
Name |
Typ |
Beschreibung: |
File1 |
Zeichenfolge |
Name der C++-Quellendatei |
Line1 |
Integer |
Zeilennummer der C++-Quellendatei |
Function1 |
Zeichenfolge |
Name der C++-Quellenfunktion |
Type2 |
Zeichenfolge |
Typ des Quellenobjekts |
Name2 |
Zeichenfolge |
Name des Quellenobjekts |
Label2 |
Zeichenfolge |
Kennsatz des Quellenobjekts |
Text1 |
Zeichenfolge |
Zusätzlicher Text |
Catalog3 |
Zeichenfolge |
Name des NLS-Nachrichtenkatalogs4 |
Severity3 |
Integer |
1 = Information
2 = Warnung
3 = Fehler
|
Number3 |
Integer |
NLS-Nachrichtennummer4 |
Insert3 |
Typ |
Integer |
Der Datentyp des Werts: 0 = Unbekannt
1 = Boolesch
2 = Integer
3 = Gleitkommazahl
4 = Dezimalzahl
5 = Zeichen
6 = Uhrzeit
7 = GMT-Zeit
8 = Datum
9 = Zeitmarke
10 = GMT-Zeitmarke
11 = Intervall
12 = BLOB (Binäres Großobjekt)
13 = Bitmatrix
14 = Zeiger
|
Text |
Zeichenfolge |
Der Datenwert |
Hinweise: - Ziehen Sie die Elemente 'File', 'Line', 'Function' und 'Text' nicht für die Entscheidungsfindung in Bezug auf die Ausnahmebedingungsbehandlung heran. Diese Elemente stellen sicher, dass Informationen zur Nutzung durch den IBM Kundendienst in ein Protokoll geschrieben werden können. Sie unterliegen Änderungen bezüglich des Inhalts und der Reihenfolge.
- Die Elemente 'Type', 'Name' und 'Label' definieren das Objekt (für gewöhnlich einen Nachrichtenflussknoten), von dem die Nachricht verarbeitet wurde, als die Ausnahmebedingung auftrat.
- Die Elemente 'Catalog', 'Severity' und 'Number' definieren eine NLS-Nachricht: die Insert-Elemente, die die beiden angezeigten Namens-/Wertelemente enthalten, definieren die Einfügungen in diese NLS-Nachricht.
- Der Name des NLS-Nachrichtenkatalogs und die NLS-Nachrichtennummer verweisen auf einen in andere Sprachen übersetzbaren Nachrichtenkatalog und die Nachrichtennummer.
Sobald die Verarbeitung des Nachrichtenflusses abgeschlossen ist, wird die Baumstruktur für
Ausnahmelisten gelöscht.
Das folgende Beispielprogramm verwendet die Ausnahmeliste im XML_Reservation-Nachrichtenfluss
zur Weiterleitung von Fehlerinformationen an den
Throw-Knoten, der eine Fehlernachricht generiert, die
die Informationen aus der Ausnahmeliste enthält:
Sie können Beispiele nur anzeigen, wenn Sie das Information Center
verwenden, das im Message
Brokers Toolkit integriert ist.