2016-06-30 3 views
1

Ich verwende Apache camel 2.13.2 und versuche, eine Verbindung zu einem FTP herzustellen, um Dateien basierend auf dem im include-Parameter angegebenen Dateiausdruck abzurufen. Ich kann sehen, dass es Dateien in dem Ordner im FTP-Konto gibt, aber Camel zieht die Dateien nicht. Ich kann im Protokoll sehen, dass die Verbindung erfolgreich ist, aber der Austausch wird als null zurückgegeben. Derselbe Code funktioniert auch für andere FTP-Konten. Könnte jemand helfen zu verstehen, wo ich falsch liege, und Dinge, die ich versuchen könnte, um das zu beheben?Camel FTP Fehler beim Abrufen von Dateien basierend auf dem Include-Filter

ftp://[email protected]:21/testfolder/testfold/test?password=RAW(XXXXXXX)&binary=true&pollStrategy=#xxxFTPPollingConsumerPollStrategy&throwExceptionOnConnectFailed=true&sendEmptyMessageWhenIdle=true&delay=15000&maxMessagesPerPoll=30&stepwise=false&consumer.bridgeErrorHandler=true&idempotent=true&idempotentKey=${file:name}-${file:size}-${file:modified}&readLock=changed&include=.* 
+0

Geist gefunden werden, dass 'include' regulären Ausdruck basiert, so sicher, was Sie passen verwenden würden, was Java regulären Ausdruck entsprechen würde. –

+0

Das gleiche gilt für reguläre Ausdrücke für andere FTPs. Selbst wenn ich den Include-Filter vollständig entferne, zieht er die Dateien nicht aus dem Ordner. – Ravi

+0

@Ravi was meinst du mit "Der gleiche Code funktioniert für andere FTP-Konten"? Dass die gleiche Kamelroute mit anderen Anmeldeinformationen funktioniert? – ltsallas

Antwort

0

ersten Versuch ohne Filter, um zu sehen, ob es das Problem ist.

In jedem Fall abhängig von dem Server- und Client-Firewalls und Linux vs Windows-Kodierung (für die Dateiübertragung), sollten Sie einen Versuch, um die folgenden URI-Parameter geben:

binary=true 
passiveMode=true 

die meiste Zeit mit der Standard passivem Modus Camel Wont Liste keine Datei und Dateiübertragung kann mit einem ArrayOutOfBounds Fehler fehlschlagen.

überprüfen verdoppeln die Protokollierungsstufe des Kamels zu debuggen gesetzt und für die FTP-Komponente zu verfolgen:

logging.level.org.apache.camel=DEBUG 
logging.level.org.apache.camel.component=TRACE 

ohne den Passiven = true werden Sie feststellen, wahrscheinlich, dass die Listendatei keine Datei nicht finden .

weitere Informationen über den passiven FTP-Modus kann here

Verwandte Themen