Metro-Prozessoren

Um Zwischenergebnisse der verarbeiteten FlowFiles zu erstellen, die im späteren Verlauf eines Datenflusses erneut benutzt werden sollen, können Metro-Prozessoren eingesetzt werden. Hierbei wird zwischen den GetMetro-, PutMetro- und ExitMetro-Prozessoren unterschieden, die im Folgenden beschrieben sind.

Ein Anwendungsbeispiel der beschriebenen Prozessoren befindet sich zudem im Abschnitt howtos/howtos.adoc#metro.

PutMetro

FlowFiles können mit dem PutMetro-Prozessor zwischengespeichert werden.
Für die Konfiguration des Prozessors wird ein MetroLineController-Service benötigt, über den die Kommunikation der Metro-Prozessoren erfolgt. PutMetro-Prozessoren sind zudem optisch anders dargestellt als andere Prozessoren und ermöglichen dadurch eine bessere Übersicht über den Prozess des Zwischenspeicherns.

GetMetro

Die gespeicherten FlowFiles können im späteren Verlauf des Datenflusses durch einen GetMetro-Prozessor abgerufen werden. Hierbei ist wichtig, den gleichen Metro-Controller auszuwählen, der beim Speichern der Daten im PutMetro-Prozessor genutzt wurde.
Zusätzlich muss das Korrelationsattribut correlation hinterlegt werden, das über einen dynamischen Property erstellt werden kann. Als Wert bietet sich hierbei eine individuelle ID an, die genutzt werden kann, um FlowFiles innerhalb der Metro-Verbindung zu unterscheiden.

Im Folgenden ist ein Beispiel der Zwischenspeicherung und des späteren Abrufs der Daten dargestellt:

GetMetro
Wurden die zwischengespeicherten FlowFiles bereits durch einen GetMetro-Prozessor abgerufen, sind diese nicht mehr verfügbar. Dadurch können Fehler bei weiteren Zugriffsversuchen entstehen.

ExitMetro

Werden mehrere PutMetro-Prozessoren zur Zwischenspeicherung genutzt, können zudem ExitMetro-Prozessoren genutzt werden, um alle in der Metro vorhandenen Flowfiles zu erhalten. Hierbei werden keine Korrelationsattribute benötigt, da die Abfrage sich nicht auf einzelne FlowFiles, sondern auf alle bezieht.

ExitMetro