2014-10-15 2 views
0

Я новичок в Mule ESB. Мое требование - каждые 15 минут интервальных файлов (на основе шаблонов) следует переместить из одного каталога в другое. Я прошел через инструмент и нашел узел опроса, который, вероятно, будет запущен в течение заданного интервала времени.Как скопировать файлы из каталога i в другой с помощью Mule

Может кто-нибудь, пожалуйста, предоставьте мне подробные шаги и диаграмму проводного потока, чтобы достичь этого. Это будет очень полезно для меня. Пожалуйста, дайте мне знать, если вам нужны детали с моей стороны.

Спасибо заранее!

Cheers!

ответ

0

необходимо указать коннектор файла и файла конечной точки (see file transport doc)

, что в основном это

например

<file:connector name="readFileConnector" autoDelete="true" pollingFrequency="6000" fileAge="30000" streaming="false" /> 


<file:endpoint name="readFileEndpoint" connector-ref="readFileConnector" path="${transaction.in}" moveToDirectory="${transaction.backup}" moveToPattern="#[function:datestamp]-#[header:originalFilename]"/> 

<flow name="readAndLog"> 
    <inbound-endpoint ref="readFileEndpoint"/> 

    //possible processing if any 

    <vm:outbound-endpoint ref="vmFileIn"/> 
</flow> 

некоторые важные моменты:
Автоудаление - удалять или нет файлы на копии.
PollingFrequency - как часто проверять каталог файлов для копирования
пути - откуда читать файлы
moveToDirectory - где поставить их

+0

Сколько узлов будет использовано для выполнения этого. Узел единого файла получает ошибку – SonuR

0

Я бы рекомендовал использовать разъем кварцевого является гораздо более гибким. Вот пример, который вы можете использовать.

Conectors

<file:connector name="in" autoDelete="true" streaming="true" validateConnections="true" doc:name="File"/> 
<file:connector name="out" autoDelete="true" streaming="true" validateConnections="true" doc:name="File"/> 

потоки

<flow name="stackoverflowFlow1" doc:name="stackoverflowFlow1"> 
    <quartz:inbound-endpoint responseTimeout="10000" doc:name="Quartz" jobName="test" repeatInterval="120000"> 
     <quartz:event-generator-job/> 
    </quartz:inbound-endpoint>    
    <flow-ref name="stackoverflowFlow3" doc:name="Flow Reference"/>   
</flow> 
<flow name="stackoverflowFlow3" doc:name="stackoverflowFlow3">   
    <file:inbound-endpoint path="C:/stackoverflow/q-001/fuente" connector-ref="in" doc:name="File"> 
     <file:filename-wildcard-filter pattern="*.txt" /> 
    </file:inbound-endpoint> 
    <logger message="listo" level="INFO" doc:name="Logger"/> 
    <file:outbound-endpoint connector-ref="out" path="C:/stackoverflow/q-001/destino" doc:name="File"/>  
</flow> 
0

вы можете использовать разъем кварцевого рядом с разъемом файла для конкретного шаблона вы можете использовать регулярные выражения фильтра, который доступен в разъеме файла. или вы можете обернуть коннектор файла в область опроса и исправить фиксированный частотный планировщик или задания cron в соответствии с вашим требованием к временному интервалу.