如何使用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
的另一个文件夹。但它没有发生。请举一个例子来解释。
连接器参考和放大器之间的区别是什么?终点参考。
答案 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 reference中fileAge
的文档是:
设置此值(处理文件的最小年龄(以毫秒为单位))在使用大文件时非常有用,因为Mule在读取此文件之前等待,直到文件上次修改时间戳指示文件早于此值
在您的情况下,50000
毫秒将为50
秒,因此,22.01.2015:20:07:20
时应删除22.01.2015:20:08:10
处丢弃的文件。
由于没有发生,您的配置一定有问题。请分享您的文件传输配置(如果有)和完整的端点配置。