Der Broker liest Dateien mit den Knoten FileInput, FTEInput, CDInput und FileRead und schreibt Dateien mit den Knoten FileOutput, CDOutput, und FTEOutput.
Die FileInput-, FileOutput- und FileRead-Knoten übernehmen die Berechtigungen der Benutzer-ID und der Gruppe des Brokers. Informationen zur Einrichtung der Berechtigungen sowie zu deren Auswirkungen auf den Dateizugriff erhalten Sie in der Dokumentation Ihres Betriebssystems.
Über den FTEInput- und FTEOutput-Knoten können Dateien an einem Ziel in einem WebSphere MQ File Transfer Edition-Netz empfangen werden oder dorthin gesendet werden.
Über den CDInput- und CDOutput-Knoten können Dateien an einem Ziel in einem IBM® Sterling Connect:Direct-Netz empfangen werden oder dorthin gesendet werden.
Eine Datei bzw. ein Datensatz in einer Datei entspricht einer Nachricht in einer Warteschlange. Das Verzeichnis, das die Datei enthält, entspricht einer Nachrichtenwarteschlange.
Der FileInput-Knoten verarbeitet Nachrichten, die aus Dateien gelesen werden. Der FileInput-Knoten durchsucht ein angegebenes Eingabeverzeichnis (in dem dem Broker angehängten Dateisystem) nach Dateien, die den Kriterien entsprechen. Der Knoten kann die Unterverzeichnisse des Eingabeverzeichnisses auch rekursiv durchsuchen. Dateien, die den Kriterien entsprechen, werden abhängig von ihrem Alter verarbeitet, d. h., die ältesten Dateien werden zuerst verarbeitet, unabhängig davon, an welcher Position in der Verzeichnisstruktur sie stehen. Optional können auch Dateien von einem fernen FTP oder SFTP-Server in das lokale Verzeichnis verschoben werden, bevor das Verzeichnis durchsucht wird. Sie können die gesuchte Datei finden, indem Sie einen expliziten Dateinamen oder ein Dateinamensmuster mit Platzhalterzeichen angeben. Ist die Datei gesperrt, wird sie während des Verzeichnissuchlaufs ignoriert. Sie können durch Angabe eines Dateiausschlussmusters auch Dateien vom Lesen ausschließen. Ob Dateien entweder verarbeitet oder ignoriert werden, wird erstens abhängig vom Dateinamen oder -muster und zweitens abhängig vom Dateiausschlussmuster entschieden.
Der FileInput-Knoten erstellt im Eingabeverzeichnis das Unterverzeichnis mqsitransitin. Im Unterverzeichnis mqsitransitin werden die Eingabedateien während ihrer Verarbeitung gespeichert und gesperrt. Der Broker liest die Datei und leitet eine oder mehrere Nachrichten weiter, die er aus dem Inhalt dieser Datei generiert.
Wenn eine Ausführungsgruppe, die Dateien in diesem Eingabeverzeichnis verarbeitet, entfernt wird, müssen Sie unbedingt prüfen, ob sich im Unterverzeichnis mqsitransitin teilweise oder nicht verarbeitete Dateien befinden. Verschieben Sie solche Dateien zurück in das Eingabeverzeichnis und entfernen Sie das UUID-Präfix der Ausführungsgruppe aus den Dateinamen, damit die Dateien von einer anderen Ausführungsgruppe verarbeitet werden können. Weitere Informationen zum Unterverzeichnis mqsitransitin finden Sie unter Gemeinsamer Zugriff auf Dateien in demselben Verzeichnis durch mehrere Dateien.
Nach der erfolgreichen Verarbeitung wird die Datei entweder aus dem Dateisystem gelöscht oder in ein Archivunterverzeichnis des angegebenen (lokalen) Verzeichnisses verschoben.
Nach der erfolgreichen Verarbeitung des letzten Datensatzes der Datei wird an das Datenendterminal des FileInput-Knotens eine Nachricht über das Datenende weitergegeben, falls das Datenendterminal im Nachrichtenfluss angeschlossen ist. Die Nachricht über das Datenende besteht aus einer leeren BLOB-Nachricht und einer Struktur LocalEnvironment.File und ermöglicht eine explizite Nachrichtenflussendverarbeitung in einem anderen Teil des Nachrichtenflusses.
Die aus der Datei weitergegebenen Nachrichten können als Eingabe für einen beliebigen Nachrichtenfluss und Sendeknoten verwendet werden. Sie können einen Nachrichtenfluss erstellen, der aus Dateien generierte Nachrichten empfängt und Nachrichten für Clients generiert, die sämtliche der unterstützten Transportmethoden zur Verbindung mit dem Broker verwenden.
Wenn eine Nachricht aus einer Datei weitergeleitet wird, speichert der FileInput-Knoten Informationen zu der Datei in der Nachrichtenbaumstruktur 'LocalEnvironment.File'. Zu diesen Informationen gehören auch die relative Position des Nachrichtendatensatzes in der gerade verarbeiteten Datei sowie die Satznummer in dieser Datei. Wenn die Datei mittels eines Dateinamensmusters mit einem Platzhalterzeichen gefunden wurde, werden im WildcardMatch-Element der Baumstruktur für die lokale Umgebung zudem die Zeichen gespeichert, die im Dateinamen den Platzhalterzeichen entsprechen.
Wenn eine Datei zurückgesetzt wird oder aufgrund einer fehlgeschlagenen Verarbeitung im Unterverzeichnis mqsitransitin verbleibt, entfernen Sie das UUID-Präfix der Ausführungsgruppe aus dem Dateinamen und verschieben Sie diese wieder zurück in das Eingabeverzeichnis. Die Verarbeitung wird automatisch ab dem ersten Datensatz in der Datei erneut versucht.
Der FTEInput-Knoten empfängt Dateien aus dem WebSphere MQ File Transfer Edition-Netz. Der Broker liest die Datei und leitet eine oder mehrere Nachrichten weiter, die er aus dem Inhalt dieser Datei generiert. Nachdem eine Datei von einem FTEInput-Knoten verarbeitet wurde, wird sie gelöscht. Einzelheiten zu den Informationen des FTEInput-Knotens zur lokalen Umgebung finden Sie unter Variablen der lokalen Umgebung mit Dateiknoten verwenden.
Der CDInput-Knoten empfängt Dateien aus dem IBM Sterling Connect:Direct-Netz. Der Broker liest die Datei und leitet eine oder mehrere Nachrichten weiter, die er aus dem Inhalt dieser Datei generiert. Nachdem eine Datei von einem CDInput-Knoten verarbeitet wurde, wird sie gelöscht. Einzelheiten zu den Informationen des CDInput-Knotens zur lokalen Umgebung finden Sie unter Variablen der lokalen Umgebung mit Dateiknoten verwenden.
Der FileRead-Knoten kann eine ganze Datei oder einen einzelnen, benannten Datensatz lesen. Eine übliche Anwendung des FileRead-Knotens besteht darin, Nachrichten abhängig vom Inhalt der Datei weiterzuleiten oder aufzubereiten. Bei der Entwicklung eines Nachrichtenflusses können Sie den Namen und die Position der zu lesenden Datei angeben. Sie können diese Werte zur Ausführungszeit abhängig vom Inhalt einer Nachricht überschreiben. Der FileRead-Knoten liest eine Datei in der Mitte eines Nachrichtenflusses.
Der FileRead-Knoten ergänzt die bestehenden FileInput- und FileOutput-Knoten.
Der FileRead-Knoten sperrt Dateien, wenn sie gelesen werden, d. h., er verschiebt sie zum Lesen nicht in ein Unterverzeichnis. Dateien können auf dieselbe Weise wie vom FileInput-Knoten ganz gelesen werden oder in Datensätze aufgeteilt werden. Nachdem die Datei vom FileRead-Knoten verarbeitet wurde, kann sie gelöscht, archiviert oder unverändert gelassen werden.
Die FileOutput-, CDOutput- und FTEOutput-Knoten schreiben Nachrichten in Dateien im Dateisystem des Brokers. Wenn am Eingangsterminal des Knotens eine Nachricht eingeht, wird eine Datei als Folge eines oder mehrerer Datensätze erstellt und geschrieben. Für jede empfangene Nachricht wird ein Datensatz in die Datei geschrieben. Der Name der Datei wird entweder durch ein im Knoten definiertes Dateinamensmuster oder durch einen expliziten Dateinamen festgelegt, der im Knoten selbst oder in der Nachricht definiert ist.
Optional kann die Datei auch in ein Verzeichnis auf einem fernen FTP oder SFTP-Server verschoben werden. Der Server wird durch die Eigenschaft Ferner Server und Port des Knotens angegeben. Alternativ können Sie die Knoteneigenschaft überschreiben, indem Sie einen Wert in der lokalen Umgeben festlegen (siehe Überschreibungen für den fernen Server auf dem FileOutput in der lokalen Umgebung).
Falls der Sendeknoten aus der Datei nur einen einzigen Datensatz erstellt ('Gesamte Datei') wird die Datei sofort in das Ausgabeverzeichnis verschoben und es muss keine Nachricht an das Dateibeendigungsterminal weitergegeben werden. In diesem Fall haben Nachrichten, die an an das Dateibeendigungsterminal des Knotens gesendet werden, keine Auswirkungen auf die Dateien, dennoch werden sie an einen mit dem Datenendterminal verbundenen Nachrichtenfluss weitergegeben.
Wenn auf der FTP-Registerkarte sowohl Retain local file (Lokale Datei beibehalten) als auch Stage in the transit directory (In Durchgangsverzeichnis zwischenspeichern) ausgewählt sind, wird bei der Aktion 'Datei beenden' die Maßnahme, falls Datei vorhanden ist ausgeführt.
Der FileOutput-Knoten erstellt eine Datei entweder im Ausgabeverzeichnis oder im Verzeichnis mqsitransit. Wenn auf der FTP-Registerkarte Maßnahme, falls ferne Datei vorhanden ist auf Append (Anhängen) gesetzt ist, wird die Datei bei der Aktion 'Datei beenden' mithilfe des Verbs 'FTP Append' an das ferne System übertragen. Die Daten werden entweder an das Ende der fernen Datei angehängt oder die Datei wird erstellt, falls sie noch nicht vorhanden ist.