2016-04-23 4 views
1

Все эти файлы загружены с ftp.Как прочитать определенный файл в муле, используя MEL?

enter image description here

Я попробовал этот поток:

<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> 
    .... 

Но я не мог прочитать файл. Спасибо заранее.

+0

Дата изменения formate в regex – Thirumal

+0

Выражения MEL не оцениваются в шаблонах фильтров filename-regex. – tbriscoe

ответ

0

Включить чч: мм: сс в регулярном выражении

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

попробовать это регулярное выражение шаблон фильтра "* # [server.dateTime.format ('yyyy_MM_dd_HH: мм: сс').]. CSV"

0

Шаблон регулярного выражения файла не обрабатывает выражения MEL.

Вам нужно будет изменить шаблон фильтра-фильтра регулярного выражения в конечной точке вашего файла и включить фильтр выражения в поток.

<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"/> 

выше регулярное выражение фильтра позволяет только те файлы, с датами в именах файлов, таких как anytext_2016_05_10_anytext.csv.

Вышеуказанный фильтр выражений допускает только сегодняшнюю дату. Я предполагаю, что вам нужна только сегодняшняя дата, основанная на использовании вами server.datetime в вашем регулярном выражении.