Lokale Datei als Eingabe für Nachrichtenfluss verwenden

In diesem Abschnitt erfahren Sie, wie Sie mit dem FileInput -Knoten eine Datei in Ihrem lokalen Dateisystem lesen und anschließend Nachrichten weitergeben, die auf dem Inhalt dieser Datei basieren.

Vorbereitungen

Dieses Beispiel zeigt eine mögliche Einstellungskombination der Eigenschaften Datensatzerkennung, Begrenzer und Begrenzertyp, die zur Extraktion von Nachrichten aus einer Datei verwendet werden kann. Das Beispiel beschreibt den FileInput -Knoten eines Nachrichtenflusses und geht davon aus, dass der Rest des Nachrichtenflusses bereits entwickelt wurde. Außerdem wird angenommen, dass ein Windows -System verwendet wird. Um diese Beispieltask ausführen zu können, müssen Sie zunächst einen FileInput -Knoten zu einem Nachrichtenfluss hinzufügen. Sie benötigen zudem die folgenden Ressourcen:
  • Eine Eingabedatei. Um diesem Beispielszenario folgen zu können, sollten Sie eine Eingabedatei mit dem Namen test_input1.xml und folgendem Inhalt erstellen:
    <Message>test1</Message>
    <Message>testtwo</Message>
    <Message>testthree</Message>
    Jede Zeile endet mit einem Zeilenabschlusszeichen. Windows System, dies umfasst Wagenrücklauf- und Zeilenvorschubzeichen ( X'0D0A'). Speichern Sie diese Datei in das Verzeichnis C:\FileInput\TestDir.
  • Eine Nachrichtengruppe. In diesem Beispiel wird eine Nachrichtengruppe namens xml1 verwendet, die den XMLNSC-Parser verwendet. Die Nachrichtengruppe xml1 modelliert Nachrichten mit dem folgenden Format:
    <Message>...</Message>
Weitere Informationen zum Konfigurieren des FileInput -Knotens enthält der Artikel FileInput -Knoten konfigurieren.

Führen Sie die folgenden Schritte aus:

Vorgehensweise

  1. Legen Sie die erforderlichen Knoteneigenschaften im FileInput -Knoten fest.
    In der folgenden Tabelle sind die Eigenschaften des FileInput -Knotens, die Sie festlegen sollten, die Registerkarte, auf der sie angezeigt werden, und der Wert, den Sie für dieses Beispiel festlegen sollten, zusammengefasst:
    Registerkarte Eigenschaft Wert
    Basis Eingabeverzeichnis C:\FileInput\TestDir
    Dateiname oder Muster test_input1.xml
    Maßnahme bei erfolgreicher Verarbeitung In Unterverzeichnis des Archivs verschieben
    Doppelt vorhandene Archivdateien ersetzen Ausgewählt
    Parsing der Eingabenachricht Nachrichtendomäne XMLNSC
    Nachrichtenmodell xml1
    Abfrage Abfrageintervall 3
    Wiederholung Maßnahme bei fehlschlagender Datei Zeitmarke hinzufügen und in Unterverzeichnis für Zurücksetzung verschieben
    Datensätze und Elemente Datensatzerkennung Mit Begrenzer
    Begrenzer DOS- oder UNIX-Zeilenende
    Begrenzertyp Postfix
    FTP FTP Nicht ausgewählt
  2. Implementieren Sie den Nachrichtenfluss auf dem Integrationsknoten. Siehe Integrationslösungen implementieren.

Ergebnisse

Bei der Ausführung dieser Schritte geschieht Folgendes:
  1. Die Datei wird verarbeitet. Entsprechend den Werten, die in den Eigenschaften auf der Registerkarte Datensätze und Elemente festgelegt sind, erkennt der FileInput -Knoten Datensätze, die durch DOS-oder UNIX-Zeilenendezeichen getrennt sind, und erstellt eine Nachricht für jeden gefundenen Datensatz. Er leitet die folgenden drei Nachrichten an den Nachrichtenfluss des Out-Terminals weiter:
    • Nachricht 1:
      <Message>test1</Message>
    • Nachricht 2:
      <Message>testtwo</Message>
    • Nachricht 3:
      <Message>testthree</Message>
  2. Wenn dem Datenendterminal ein Nachrichtenfluss zugeordnet ist, wird nach der Verarbeitung des letzten Datensatzes der Datei eine Datenendnachricht weitergegeben.
  3. Nach dem Ende der Verarbeitung wird die Datei test_input1.xml in das Unterverzeichnis mqsiarchive verschoben (C:\FileInput\TestDir\mqsiarchive\test_input1.xml). Falls das Archivverzeichnis mqsiarchive bereits eine Datei mit dem Namen test_input1.xml enthält, wird diese durch die neue Datei überschrieben.
  4. Wenn der Nachrichtenfluss fehlschlägt, wird die Verarbeitung entsprechend den Werten, die in den Eigenschaften des FileInput -Knotens festgelegt sind, wiederholt. In diesem Beispielvorgang wird dem Dateinamen eine Zeitmarke hinzugefügt, und die Datei wird in das Verzeichnis mqsibackout verschoben. Hier ein Beispiel für den Pfad einer solchen Datei: C:\FileInput\TestDir\mqsibackout\20070928_150234_171021_test_input1.xml.

Nächste Schritte

Informationen zu den Auswirkungen der Angabe anderer Kombinationen von Werten in den Eigenschaften Datensatzerkennung, Begrenzerund Begrenzertyp des FileInput -Knotens finden Sie unter Trennung von Dateien in Datensätze steuern.

Sie können dieses Beispiel auf die Verarbeitung von Dateien in Unterverzeichnissen erweitern, indem Sie die Eingabedatei in ein Unterverzeichnis mit dem Namen Eingabeverzeichnis stellen und die Eigenschaft Lokale Unterverzeichnisse einschließen auswählen.