WIE: Apache Camel, Regex Match-Dateien

7

Ich experimentiere, indem ich Camel dazu bringe, einige Dateioperationen durchzuführen und sie durch den Broker activeMQ zu leiten, ich habe dieses Projekt von einem Typen übernommen, der kürzlich gekündigt hat.

Was ich bisher erreicht habe:

%Vor%

funktioniert bis zu dem Punkt, an dem die Route ohne Fehler ausgeführt wird, die Datei jedoch nicht in die lokale Datei kopiert wird.

Irgendwelche Ideen? .

    
ministry 01.03.2012, 13:12
quelle

4 Antworten

18

Ja, Sie müssen die Option include / exclude / filter verwenden, wenn Sie Dateien basierend auf Mustern filtern wollen. Die Option fileName gilt für eine einzelne Datei.

Entfernen Sie in diesem Fall die Option fileName, und ersetzen Sie sie durch include=.*2280.xsl . Beachten Sie, dass das Include auf regulären Java-Ausdrücken basiert. Daher verwenden wir Punkt-Stern , um Platzhalter anzugeben. Mehr Details hier: Ссылка . Die ftp-Komponente erbt 99% der Optionen der Dateikomponente, deshalb verweise ich auf die Dateiwiki-Seite.

    
Claus Ibsen 01.03.2012, 17:46
quelle
3

Verwenden Sie die Option include , die den regulären Java-Ausdruck verwendet:

%Vor%

Bitte beachten Sie die \ vor dem Punkt .

Alternativ verwenden Sie antInclude :

%Vor%     
Peter Keller 14.11.2014 07:45
quelle
1

Für diese Art der Filterung empfehle ich den GenericFileFilter

    
Olivier.Roger 01.03.2012 14:36
quelle
0

Bei der Implementierung des Namensabgleichs wird der folgende Code verwendet:

%Vor%

So können Sie testen, welchen regulären Ausdruck Sie verwenden sollten. In Ihrem Fall denke ich, dass .*2280\.xsl das ist, was Sie verwenden sollten.

    
Xiao Peng - ZenUML.com 30.10.2015 00:41
quelle

Tags und Links