Nachrichtenfluss 'SimplifiedDBRouting' erstellen

Erstellen Sie unter Berücksichtigung der folgenden Anweisungen den Nachrichtenfluss 'SimplifiedDBRouting'. Ausführlichere Anweisungen erhalten Sie jeweils über die Links am Ende eines jeden Schritts.

Gehen Sie wie folgt vor, um den Nachrichtenfluss 'SimplifiedDBRouting' zu erstellen und zu konfigurieren:

  1. Erstellen Sie einen neuen Nachrichtenfluss mit der Bezeichnung 'SimplifiedDBRouting'.
    Anweisungen hierzu finden Sie in der Dokumentation zu WebSphere Message Broker im Abschnitt Nachrichtenfluss erstellen.
  2. Fügen Sie im Nachrichtenflusseditor die in der folgenden Tabelle aufgelisteten Knoten hinzu und benennen Sie diese um.
    Anweisungen hierzu finden Sie in der Dokumentation von WebSphere Message Broker im Abschnitt Nachrichtenflussknoten hinzufügen.
    Palettenfächer Knotentyp Knotenname (MQ-Warteschlange)
    WebSphere MQ MQ-Empfangsknoten MQInput
    WebSphere MQ MQOutput FailureQ
    WebSphere MQ MQOutput KeyNotFoundQ
    WebSphere MQ MQOutput OrderClockQ
    WebSphere MQ MQOutput SeniorStaffQ
    WebSphere MQ MQOutput DefaultQ
    Routing Route Route
    Datenbankknoten DatabaseRetrieve DatabaseRetrieve
    Datenbankknoten DatabaseRoute DatabaseRoute
    Aufbau Trace Trace
  3. Verbinden Sie die Knoten anhand der nachfolgenden Tabelle miteinander.
    Anweisungen hierzu finden Sie in der Dokumentation zu WebSphere Message Broker im Abschnitt Nachrichtenflussknoten verbinden.
    Überprüfen Sie anhand der Abbildung unter Informationen zum Nachrichtenfluss 'Simplified Database Routing', ob Sie die Knoten richtig miteinander verbunden haben.
    Knotenname Terminal Mit diesem Knoten verbinden
    MQInput Ausgangsterminal Route
    Fehlerterminal Trace
    Abfangterminal Trace
    Route Standard DatabaseRetrieve
    Fehlerterminal Trace
    Match (Übereinstimmung) DatabaseRoute
    DatabaseRetrieve Ausgangsterminal DatabaseRoute
    Fehlerterminal Trace
    KeyNotFound KeyNotFoundQ
    DatabaseRoute KeyNotFound KeyNotFoundQ
    Fehlerterminal Trace
    TenYearsService OrderClockQ
    OlderThanMe SeniorStaffQ
    Standard DefaultQ
    Trace Ausgangsterminal FailureQ
  4. Konfigurieren Sie die Knoteneigenschaften anhand der nachfolgenden Tabelle.
    Übernehmen Sie die Standardwerte für die Eigenschaften, sofern die Tabelle keinen davon abweichenden Wert enthält.
    Anweisungen hierzu finden Sie in der Dokumentation von WebSphere Message Broker im Abschnitt Nachrichtenflussknoten konfigurieren.
    Knotenname Seite Eigenschaft Wert
    MQInput Grundeinstellung Name der Warteschlange SIMPLERROUTEDB_IN
    Diese Eigenschaft bezeichnet die lokale Warteschlange, aus der der Nachrichtenfluss die Nachricht abruft.
    Syntaxanalyse der Eingabenachricht Nachrichtendomäne XMLNSC : Für XML-Nachrichten
    Diese Eigenschaft weist den Broker an, den XMLNSC-Parser zu verwenden. Dieser erkennt Namensbereiche, unterstützt die Validierung und benötigt wenig Speicher.
    Route Grundeinstellung Filtermuster $Body/EmpRecord/WorkDept
    Diese Eigenschaft ist ein XPath 1.0-Ausdruck, mit dem in diesem Fall eine Pfadposition für ein erwartetes Element in der Eingabenachricht für diesen Knoten angegeben wird. Der Knoten erwartet ein Feld zur Angabe der Abteilung; ist dieses nicht vorhanden, wird ein Fehler ausgegeben.
    Grundeinstellung Ausgabeterminal für Routing

    Match
    Diese Eigenschaft bezeichnet den Namen eines dynamischen Ausgabeterminals, an das die Eingabenachricht weitergeben wird, wenn der Filterausdruck als 'true' (wahr) aufgelöst wird. Der Ausdruck wird als 'true' aufgelöst, wenn sich das erwartete Element in der Eingabenachricht befindet.
    Hinweis: Dieses Terminal muss zunächst erstellt werden. Klicken Sie hierfür mit der rechten Maustaste auf den Knoten und klicken Sie anschließend auf Ausgabeterminal hinzufügen.
    Anweisungen hierzu finden Sie in der Dokumentation zu WebSphere Message Broker im Abschnitt Dynamische Terminals verwenden.

    DatabaseRetrieve Grundeinstellung Name der Datenquelle

    SIMPLERROUTEDB
    Der Aliasname für die Suche nach JDBC-Provider-Details im Brokerregister. Unter Verwendung des Aliasnamens wird die URL für die JDBC-Verbindung gesucht und aufgebaut, über die eine Verbindung zu einem Datenbankmanagementsystem hergestellt wird.

    Grundeinstellung Nachricht kopieren Ja
    Diese Eigenschaft gibt an, dass eine Kopie der ursprünglichen eingehenden Nachricht benötigt wird, da die Nachrichtenbaumstruktur aktualisiert werden soll.
    Grundeinstellung Abfrageelemente
    Tabellenname Spaltenname Operator Wertetyp Wert
    EMPLOYEE E LASTNM ASC - -
    EMPLOYEE E FIRSTNM ASC - -
    EMPLOYEE E YEARSSERVICE ASC - -
    EMPLOYEE E AGEINYRS ASC - -
    EMPLOYEE E WORKDEPT ASC - -
    EMPLOYEE E EMPNUM = Option $InputBody/EmpRecord/EmpNumber
    Aus dem Inhalt der vorherigen Tabelle Abfrageelemente wird im Fenster für die SQL-Anweisung folgende Abfrage erzeugt:
    SELECT  E.LASTNM,  E.FIRSTNM,  E.YEARSSERVICE,  E.AGEINYRS,  E.WORKDEPT
    FROM EMPLOYEE E
    WHERE  E.EMPNUM = ?
    ORDER BY  E.LASTNM ASC,  E.FIRSTNM ASC,  E.YEARSSERVICE ASC,  E.AGEINYRS ASC,  E.WORKDEPT ASC
    Tabelle für Datenelemente Datenelemente
    Spaltenname Nachrichtenelement
    E.FIRSTNM $OutputRoot/XMLNSC/EmpRecord/FirstName
    E.LASTNM $OutputRoot/XMLNSC/EmpRecord/LastName
    E.YEARSSERVICE $OutputRoot/XMLNSC/EmpRecord/YrsInService
    E.AGEINYRS $OutputRoot/XMLNSC/EmpRecord/AgeInYrs
    E.WORKDEPT $OutputRoot/XMLNSC/EmpRecord/WorkDept
    Die einzelnen Zeilen in der vorherigen Tabelle Datenelemente geben jeweils eine Position in der Ausgabenachricht an, in die vor der Weitergabe der Nachricht von diesem Knoten ein abgerufener Spaltenwert eingesetzt wird.
    Ist eine Position nicht in der Ausgabenachricht (einer Kopie der Eingabenachricht) vorhanden, so wird sie erstellt. Da standardmäßig für die Basiseigenschaft Mehrere Zeilen der Wert Nein festgelegt ist, werden von diesem Knoten nur die in der ersten Zeile einer Ergebnisliste zurückgegebenen Werte verarbeitet.
    Zum Abrufen der Ergebnisliste muss die Abfrage ausgeführt werden, die im Fenster für die SQL-Anweisung angegeben und mit dem Basisinhalt der Tabelle Abfragelemente konfiguriert ist.
    DatabaseRoute Grundeinstellung Name der Datenquelle

    SIMPLERROUTEDB
    Der Aliasname für die Suche nach JDBC-Provider-Details im Brokerregister. Unter Verwendung des Aliasnamens wird die URL für die JDBC-Verbindung gesucht und aufgebaut, über die eine Verbindung zu einem Datenbankmanagementsystem hergestellt wird.

    Grundeinstellung Abfrageelemente
    Tabellenname Spaltenname Operator Wertetyp Wert
    EMPLOYEE M EMPNUM ASC - -
    EMPLOYEE M LASTNM ASC - -
    EMPLOYEE M AGEINYRS ASC - -
    DEPARTMENT D DEPTNUM = Option $Body/EmpRecord/WorkDept
    DEPARTMENT D MGRNUM = Spalte (EMPLOYEE) M.EMPNUM
    Aus dem Inhalt der vorherigen Tabelle Abfrageelemente wird im Fenster für die SQL-Anweisung folgende Abfrage erzeugt:
    SELECT  M.EMPNUM,  M.LASTNM,  M.AGEINYRS
    FROM EMPLOYEE M, DEPARTMENT D
    WHERE  D.DEPTNUM = ?
    AND  D.MGRNUM =  M.EMPNUM
    ORDER BY  M.EMPNUM ASC,  M.LASTNM ASC,  M.AGEINYRS ASC 
    Grundeinstellung Verteilungsmodus Alle
    Über diese Eigenschaft wird festgelegt, wie dieser Knoten die Weiterleitung vornimmt, wenn eine eingehende Nachricht mit mehreren Ausdrücken übereinstimmt. Ist für Verteilungsmodus die Option Erstes festgelegt, wird die Nachricht an das erste übereinstimmende Ausgabeterminal weitergegeben. Ist für Verteilungsmodus dagegen Alle angegeben, wird die Nachricht an alle übereinstimmenden Ausgabeterminals weitergegeben. Falls kein übereinstimmendes Ausgabeterminal vorhanden ist, wird die Nachricht an das Standardterminal gesendet.
    Tabelle 'Filterausdruck' Filtertabelle
    Filtermuster Ausgabeterminal für Routing
    ($Body/EmpRecord/AgeInYears > $M_AGEINYRS) und ($M_LASTNM = 'KWAN') OlderThanMe
    $Body/EmpRecord/YrsInService >= 10 TenYearsService
    Jede Zeile in der vorherigen Tabelle Filterausdruck gibt einen XPath 1.0-Ausdruck an, bei dem abgerufene Spaltenwerte in Form von Variablenverweisen dargestellt werden.
    Jeder Ausdruck wird als boolescher Ausdruck umgesetzt. Wird der Ausdruck als 'true' (wahr) aufgelöst, gibt der Knoten die Eingabenachricht an das dynamische Ausgabeterminal weiter, das für den Wert Ausgabeterminal für Routing für die Zeile angegeben wurde.
    Hinweis: Dieses Terminal muss zunächst erstellt werden. Klicken Sie hierfür mit der rechten Maustaste auf den Knoten und klicken Sie anschließend auf Ausgabeterminal hinzufügen.
    Anweisungen hierzu finden Sie in der Dokumentation zu WebSphere Message Broker im Abschnitt Dynamische Terminals verwenden.
    Trace Grundeinstellung Destination (Zieladresse) lokales Fehlerprotokoll
    Mit dieser Eigenschaft wird der Knoten angewiesen, die Trace-Informationen im lokalen Fehlerprotokoll zu speichern. Unter Windows stellt der Event Viewer das lokale Fehlerprotokoll dar, unter Linux lautet dieses Fehlerprotokoll 'syslog'.
    Grundeinstellung Muster (Pattern)
    Root >
    ${Root}
    ExceptionList > ${ExceptionList}
    Mit dem Tracemuster werden die gesamten Informationen der Nachrichtenbaumstruktur extrahiert.
    Grundeinstellung Nachrichtennummer 3051
    FailureQ Grundeinstellung Name der Warteschlange SIMPLERROUTEDB_FAILURE
    Diese Eigenschaft bezeichnet die Warteschlange, in die der Nachrichtenfluss die Nachricht im Falle eines Verarbeitungsfehlers stellt.
    KeyNotFoundQ Grundeinstellung Name der Warteschlange
    SIMPLERROUTEDB_KEYNOTFOUND
    Diese Eigenschaft bezeichnet die lokale Warteschlange, in die die Nachricht vom Nachrichtenfluss eingereiht wird.
    OrderClockQ Grundeinstellung Name der Warteschlange
    SIMPLERROUTEDB_ORDERCLOCK
    Diese Eigenschaft bezeichnet die lokale Warteschlange, in die die Nachricht vom Nachrichtenfluss eingereiht wird.
    SeniorStaffQ Grundeinstellung Name der Warteschlange
    SIMPLERROUTEDB_SNRSTAFF
    Diese Eigenschaft bezeichnet die lokale Warteschlange, in die die Nachricht vom Nachrichtenfluss eingereiht wird.
    DefaultQ Grundeinstellung Name der Warteschlange
    SIMPLERROUTEDB_DEFAULT
    Diese Eigenschaft bezeichnet die lokale Warteschlange, in die der Nachrichtenfluss die Nachricht einreiht.
  5. Speichern Sie den Nachrichtenfluss.

Damit ist der Nachrichtenfluss 'SimplifiedDBRouting' erstellt.

Zurück zur Erstellung des Mustercodes 'Simplified Database Routing'