MULE中的文件端点

时间:2015-01-22 15:00:15

标签: mule

如何使用Move to Pattern& MULE中File EndPoint的File Age属性。

我试图给moveToPattern="#[function:datestamp]-#[message.inboundProperties['originalFilename']]",但它没有按预期工作。

对于文件时代,我提供了50000。根据我的理解,如果文件的最后修改日期是22.01.2015:20:07:20,那么该文件应该从此文件夹移动到22.01.2015:20:12:20的另一个文件夹。但它没有发生。请举一个例子来解释。

连接器参考和放大器之间的区别是什么?终点参考。

2 个答案:

答案 0 :(得分:1)

'文件时代' property定义文件在处理之前必须等待的时间。处理完成后,它将移动到' moveToDirectory'中指定的目录。

文件连接器是一个全局连接器,您可以在其中指定一些可应用于所有文件端点配置的属性。

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

文件端点是可以从所有端点引用的通用端点。例如,您有不同的端点具有相同的配置,因此您可以指定全局端点上的所有属性,因此当您需要更改某些内容时,您只需更改全局端点。

<file:endpoint name="fileEndpoint"
    path="${file.path}" outputPattern="${file.outputPattern}" moveToDirectory="${file.moveToDir}"
    connector-ref="File" doc:name="File" fileAge="5000"/>

然后,文件入站/出站端点可以引用全局端点。

<file:outbound-endpoint responseTimeout="10000"
            ref="fileEndpoint" doc:name="File - Log" /> 

答案 1 :(得分:0)

file transport referencefileAge的文档是:

  

设置此值(处理文件的最小年龄(以毫秒为单位))在使用大文件时非常有用,因为Mule在读取此文件之前等待,直到文件上次修改时间戳指示文件早于此值

在您的情况下,50000毫秒将为50秒,因此,22.01.2015:20:07:20时应删除22.01.2015:20:08:10处丢弃的文件。

由于没有发生,您的配置一定有问题。请分享您的文件传输配置(如果有)和完整的端点配置。