file - 如何在 Mule 中设置文件的系统修改日期

标签 file mule file-transfer mule-studio

我有一个需求,比如使用 Mule 中的文件连接器将文件从入站目录传输到出站目录。传输文件时,它会在输入文件连接器中配置的工作目录中进行处理。
现在,我的要求是,如果我将旧文件放置在文件输入目录中,则工作目录中的文件应该具有修改后的系统日期的当前时间戳。 它类似于 Unix 中用于设置系统修改日期的“Touch”命令。

请注意,我不想使用任何 Groovy Script 方法或任何其他可能影响性能的 hack 方法来实现此目的。 以下是我的 Mule mflow:-

<file:connector name="File"     autoDelete="true" streaming="true" validateConnections="true" doc:name="File" outputAppend="true"/>
<file:connector name="File1" autoDelete="false" streaming="false" validateConnections="true" doc:name="File"/>
<flow name="FileReadandDeleteFlow1" doc:name="FileReadandDeleteFlow1">
    <file:inbound-endpoint   responseTimeout="10000" doc:name="File" connector-ref="File" moveToDirectory="E:\backup\test_workingDir"  path="E:\backup\test" moveToPattern="processingFile.xml">
    </file:inbound-endpoint>
    <file:outbound-endpoint path="E:\backup\test_out" outputPattern="Finaloutput.txt" responseTimeout="10000" connector-ref="File1" doc:name="File"/>

提前致谢

最佳答案

您可以#[function:dateStamp]#[function:datestamp:dd-MM-yy]实现此目的,如本 link 中所述

一个例子是:

<file:outbound-endpoint path="E:\backup\test_out" outputPattern="Finaloutput_[function:dateStamp].txt" responseTimeout="10000" connector-ref="File1" doc:name="File"/>

编辑:

要始终在工作 Firectory 中显示文件的当前时间戳,您可以创建另一个流程,以特定的时间间隔从工作目录读取文件,然后使用 file:outbound-endpoint 将它们复制到同一目录。

关于file - 如何在 Mule 中设置文件的系统修改日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18827437/

相关文章:

java - 如何通过 USB 进行通信(手机到 PC)?

Android:打开文件夹对话框

c++ - 将 float 舍入为 2 位小数以将其写入文本文件

Mule ESB - http 入站端点用户身份验证

tar - 如何在不使用 tar 的情况下 netcat 多个文件?

c - 用C语言制作我自己的视频发送网络应用程序

java - 我们如何从 postgresql 中的数据库函数将数据写入文件?

C 文件按行读取到自定义分隔符

groovy - 使用 groovy 以编程方式启动 mule 流

ssl - MULE ESB 3.4 IMAP 邮件问题