如何使用Mule将文件从i目录复制到另一个目录

时间:2014-10-15 16:43:07

标签: mule mule-studio

我是Mule ESB的新手。我的要求是每隔15分钟间隔将特定文件(基于模式)从一个目录位置移动到另一个目录位置。我已经使用该工具并找到了一个poll节点,该节点很可能在给定的时间间隔内被触发。

有人可以提供详细步骤和线图来实现这一目标。这对我很有帮助。如果您需要我的任何细节,请告诉我。

提前致谢!

干杯!

3 个答案:

答案 0 :(得分:0)

您需要指定文件连接器和文件端点(see file transport doc

基本上就是

e.g。

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

一些关键点:
autodelete - 删除或不复制文件。
pollingFrequency - 检查目录中要复制的文件的频率 路径 - 从哪里读取文件
moveToDirectory - 把它们放在哪里

答案 1 :(得分: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>

答案 2 :(得分:0)

您可以使用文件连接器旁边的石英连接器作为特定模式,您可以使用文件连接器中提供的正则表达式过滤器。或者您可以将文件连接器包装在轮询范围内,并根据您的时间间隔要求修复固定频率调度程序或cron作业。