Das Beispielprogramm 'Error Handler' ausführen
Bei der Ausführung des Beispielprogramms 'Error Handler' werden einzelne Nachrichten durch die Nachrichtenflüsse gesendet.
Sie können das Beispielprogramm ausführen, um zu sehen, was in den folgenden Situationen geschieht:
- Die Eingabenachricht enthält eine gültige Personalnummer.
- Die Eingabenachricht enthält eine ungültige Personalnummer
- Die Eingabenachricht enthält eine gültige Personalnummer, jedoch ist die Ausgabewarteschlange STAFF_OUT gesperrt
Weitere Informationen hierzu finden Sie im Abschnitt Informationen zum Beispielprogramm 'Error Handler'.
Wenn Sie DB2 und WebSphere MQ nicht wie in den Konfigurationsanweisungen beschrieben konfiguriert haben, können Sie die Auswirkungen der Verwendung verschiedener Arbeitseinheiten in einem Nachrichtenfluss bei Ausführung des Beispielprogramms nicht verfolgen.
Sie können jedoch die anderen Aspekte des Beispielprogramms testen.
Wenn Sie das Fehlerbehandlungsprogramm unter Windows ausführen, wird bei den folgenden Anweisungen davon ausgegangen, dass Sie die vollständige Version von DB2 Universal Database installiert haben. Wenn Sie die Express Installation-Methode auf dem Launchpad verwendet haben, um nur die ODBC-Treiber für Cloudscape zu installieren, ist die DB2-Steuerzentrale nicht verfügbar, und Sie können Sie nicht verwenden, um in den Datenbanktabellen des Beispielprogramms 'Error Handler' nach Änderungen zu suchen.
Bei der Ausführung des Beispielprogramms werden möglicherweise in der Ansicht 'Probleme' Fehlernachrichten wie beispielsweise Nicht auflösbarer Datenbanktabellenverweis T.CLASSTYPE angezeigt. Diese Warnung zeigt an, dass Definitionen für die Datenbanktabellen nicht in das Projekt importiert wurden.
Dies hat während der Ausführung keinerlei Auswirkungen auf das Beispielprogramm.
Sollten Sie Probleme beim Ausführen des Beispielprogramms haben, lesen Sie den Abschnitt Fehler diagnostizieren.
Das Beispielprogramm mit einer Nachricht ausführen, die eine gültige Personalnummer enthält
Gehen Sie folgendermaßen vor, um das Beispielprogramm mit der Nachricht, die eine gültige Personalnummer enthält, auszuführen:
- Wechseln Sie im Message Brokers Toolkit zur Perspektive
'Brokeranwendungsentwicklung'.
- Klicken Sie in der Ansicht 'Ressourcennavigator' doppelt auf staffmsg.enqueue. Daraufhin wird die Datei 'staffmsg.enqueue' im Editor für Einreihungen geöffnet.Stellen Sie sicher, dass das Feld "Port" den Wert 2414 enthält.
- Klicken Sie in diesem Editor auf In Warteschlange schreiben. Die Nachricht, die die gültige Personalnummer enthält, wird in die Warteschlange STAFF_IN eingereiht.
- Sehen Sie sich die Ergebnisse an:
- Zeigen Sie die Tabelle STAFF in der Datenbank STAFFDB an.
Die Tabelle wurde mit den
Personaldaten aus der Eingabenachricht aktualisiert.
- Rufen Sie die Eingabenachricht aus der Warteschlange STAFF_OUT ab.
Die Eingabenachricht wurde in die Ausgabewarteschlange geschrieben.
Das Beispielprogramm mit einer Nachricht ausführen, die eine ungültige Personalnummer enthält
Gehen Sie folgendermaßen vor, um das Beispielprogramm mit der Nachricht, die eine ungültige Personalnummer enthält, auszuführen:
- Öffnen Sie die Datei invalidstaffmsg.enqueue im Editor für Einreihungen in Warteschlangen. Stellen Sie sicher, dass das Feld "Port" den Wert 2414 enthält und klicken Sie dann aufIn Warteschlange schreiben.
- Sehen Sie sich die Ergebnisse an:
- Zeigen Sie die Tabelle ERRORS in der Datenbank ERRORDB an.
Der Datentyp der Daten in den Feldern MSGID und MSGDATA in der Tabelle ERRORS ist BLOB. Dies bedeutet, dass Sie die Daten unter Verwendung der DB2-Steuerzentrale nicht anzeigen können.
Sie können die Daten jedoch mit dem DB2-Befehlszeilenprozessor anzeigen:
- Starten Sie den DB2-Befehlszeilenprozessor:
- Klicken Sie unter Windows auf Start > Programme > IBM DB2 > Befehlszeilentools > Befehlszeilenprozessor
- Vergewissern Sie sich unter Linux in einer Shelleingabeaufforderung, dass die Ausführung als DB2-Instanz erfolgt. Geben Sie anschließend db2 ein.
- Geben Sie folgende Befehle ein:
connect to ERRORDB
select * from ERRORS
Die Daten in der Tabelle ERRORS werden angezeigt. Die Tabelle wurde mit den Fehlerdetails aktualisiert.
- Rufen Sie die Eingabenachricht aus der Warteschlange STAFF_FAIL ab.
Die Eingabenachricht wurde in die Fehlerwarteschlange geschrieben.
Das Beispielprogramm mit einer gültigen Personalnummer und einer gesperrten Warteschlange ausführen
Gehen Sie folgendermaßen vor, um das Beispielprogramm mit einer Nachricht, die eine gültige Personalnummer enthält, und mit einer gesperrten Ausgabewarteschlange auszuführen:
- Sperren Sie die Warteschlange STAFF_OUT:
- Klicken Sie in WebSphere MQ Explorer auf den Ordner 'Warteschlangen' des WS-Managers WBRK6_DEFAULT_QUEUE_MANAGER, um seine Warteschlangen anzuzeigen.
- Klicken Sie mit der rechten Maustaste auf die Warteschlange STAFF_OUT, und klicken Sie anschließend auf Eigenschaften. Daraufhin wird der Dialog 'Eigenschaften' geöffnet.
- Klicken Sie im Eigenschaftendialog in der Liste Nachrichten einreihen auf Unterdrückt. Klicken Sie dann auf OK.
- Öffnen Sie die Datei staffmsg.enqueue im Editor für Einreihungen in Warteschlangen. Stellen Sie sicher, dass das Feld "Port" den Wert 2414 enthält und klicken Sie dann aufIn Warteschlange schreiben. Die Nachricht wird in die Warteschlange STAFF_IN eingereiht. Die Personalnummer in der Nachricht ist gültig, so dass die Nachricht den Knoten 'Personaldatenbank aktualisieren' (Update Staff Database) passiert.
Die Nachricht kann jedoch nicht in die Warteschlange STAFF_OUT gestellt werden. Daher wird
ein Fehler generiert, und die Nachricht wird zurückgeleitet.
- Sehen Sie sich die Ergebnisse an:
- Zeigen Sie die Tabelle STAFF in der Datenbank STAFFDB an.
Da die Datenbankaktualisierung rückgängig gemacht wurde, ist kein neuer Eintrag in der Tabelle vorhanden.
- Zeigen Sie die Tabelle ERRORS in der Datenbank ERRORDB an.
Die Tabelle wurde mit den Fehlerdetails aktualisiert.
- Rufen Sie die Eingabenachricht aus der Warteschlange STAFF_FAIL ab.
Die Eingabenachricht wurde in die Fehlerwarteschlange geschrieben.
Zurück zum Beginn des Beispielprogramms