2016-04-23 17 views
1

Diese alle Dateien von FTP heruntergeladen.Wie liest man bestimmte Dateien in Mule mit MEL?

enter image description here

Ich habe diese Strömung versucht:

<flow name="myFlow"> 
    <file:inbound-endpoint path="fiel_path" connector-ref="File" pollingFrequency="3600000" fileAge="50000" responseTimeout="10000" encoding="UTF-16" mimeType="text/csv" doc:name="File"> 
     <file:filename-regex-filter pattern=".*#[server.dateTime.format('yyyy_MM_dd')].*.csv" caseSensitive="true"/> 
    </file:inbound-endpoint> 
    .... 

Aber ich konnte nicht Datei lesen. Vielen Dank im Voraus.

+0

Änderungsdatum Format in Regex – Thirumal

+0

MEL-Ausdrücke werden nicht in Dateinamen-Regex-Filter-Mustern ausgewertet. – tbriscoe

Antwort

0

Fügen HH: mm: ss in regex

#[server.dateTime.format('yyyy-MM-dd HH:mm:ss')] 
0

versuchen, diese in regex Filtermuster "* # [server.dateTime.format ('yyyy_MM_dd_HH: mm: ss')].. Csv"

0

Das Datei-Regex-Muster verarbeitet keine MEL-Ausdrücke.

Sie müssen das Dateiname-Regex-Filter-Muster in Ihrem Datei-Inbound-Endpunkt ändern und einen Ausdrucksfilter in Ihren Fluss einfügen.

<file:inbound-endpoint path="fiel_path" connector-ref="File" pollingFrequency="3600000" fileAge="50000" responseTimeout="10000" encoding="UTF-16" mimeType="text/csv" doc:name="File"> 
    <file:filename-regex-filter pattern=".*\d{4}_\d{2}_\d{2}_.*.csv" caseSensitive="true"/> 
</file:inbound-endpoint> 

<expression-filter expression="#[message.inboundProperties.originalFilename.contains(server.dateTime.format('yyyy_MM_dd'))]" doc:name="Filter today's date Expression"/> 

Die obigen regex Filter erlauben nur die Dateien mit den Daten in ihren Dateinamen wie anytext_2016_05_10_anytext.csv.

Der obige Ausdruck Filter erlaubt nur das heutige Datum durch. Ich nehme an, dass Sie nur das heutige Datum wünschen, das auf Ihrer Verwendung der server.datetime in Ihrer Regex basiert.