2017-04-04 1 views
0

Meine Anforderung ist es, bestehenden Prozess zu unterstützen. Hier lädt der Teilnehmer den Dateinamen * .csv hoch und lädt dann den Dateinamen * .marker auf den FTP-Speicherort hoch. Ich möchte FTP-Download von Dateiname * .csv einmal Dateiname * .marker existiert am selben FTP-Speicherort. Dieser Prozess kann ich nicht ändern. Das Vorhandensein der .marker-Datei zeigt an, dass die CSV-Datei aktualisiert wurde und der Verarbeitungsablauf der CSV-Datei beginnen kann. Ich war auf der Suche nach dem Inbound-Channel-Adapter der Feder Integration FTP-Unterstützung. Aber ich sehe keine Unterstützung für das Herunterladen von Dateien mit einigen Filterkriterien (Dateiname * .csv), wenn am selben Ort der Dateiname * .marker existiert. Mit anderen Worten, ich möchte Remote-Dateien nach bestimmten Kriterien filtern, aber verschiedene Dateien herunterladen (möglicherweise mit Inbound-Channel-Adapter). Bitte lassen Sie mich wissen, wenn ich das gleiche durch die Implementierung einer Schnittstelle etc.Wie downloade Dateiname * .csv, wenn Dateiname * .Marker Datei existiert auf dem FTP-Server mit Feder Integration FTP-Unterstützung

Antwort

1

Sie können einen benutzerdefinierten Filter ignorieren *.csv Dateien, wo die Entsprechung *.marker ist nicht vorhanden.

public class MyMarkerFilter implements FileListFilter<FTPFile> { 
    ... 
} 

Und in filterFiles Sie die Datei (en), die Sie nicht wollen, um die Filter passieren.

Dies ist ein häufiger Anwendungsfall, betrachten contributing den Filter zum Framework.

Verwandte Themen