如何从Mule中的多个文件中分离最新文件

时间:2015-10-08 09:22:04

标签: mule mule-studio mule-component

我在一个文件夹中有5000个文件,并且每天都有新文件保存在同一个文件中。我需要每天在所有文件中获取最新文件。

是否可以在Mule中实现这种情况。

尝试将文件组件保留在Poll组件内(使用waterMark)但不起作用。

我们有什么方法可以做到这一点。如果没有,请建议最好的方式(任何可能的链接)。

Mule Studio:5.3,RunTime 3.7.2。 提前致谢

3 个答案:

答案 0 :(得分:0)

简短回答:并非真正开箱即用的解决方案。但还有其他方法。我不是说这是解决它的正确或唯一方法,但我之前已经用这种方式实现了类似的方案:

使用数据库表作为文件日志的正常文件入站。每次处理新文件时,组件都会检查其名称是否出现在表中。通过选择或过滤我只有在它已经存在时才继续 - 并且在处理之后我将文件名添加到表中。

这是一个非常重的"解决方案。更简单的访问是使用带有对象存储的幂等过滤器。例如,Redis服务器:https://github.com/mulesoft/redis-connector/blob/master/src/test/resources/redis-objectstore-tests-config.xml

答案 1 :(得分:0)

如果您的传入文件包含时间戳,这实际上非常简单........您可以通过设置文件来配置文件入站连接器:filename-regex-filter pattern =“myfilename _#[function:timestamp] .csv ”。我希望这有帮助

答案 2 :(得分:0)

可能您可以使用quartz调度程序(在cron表达式中提及时间),然后是一个groovy脚本,您可以在其中启动文件连接器。将文件连接器保留在另一个流程中。

相关问题