如何在Mule中将最新文件与多个文件分开

如何在Mule中将最新文件与多个文件分开,mule,mule-studio,mule-component,Mule,Mule Studio,Mule Component,我在一个文件夹中有5000个文件,每天新文件都会加载到同一个文件中。我需要得到最新的文件,只有每天的基础上,所有的文件 是否有可能在Mule out-of-box中实现该场景 已尝试将文件组件保留在轮询组件内(以利用水印),但无法工作 我们有没有办法做到这一点。如果没有,请建议最好的方式(任何可能的链接) Mule Studio:5.3,运行时3.7.2。 提前感谢简短回答:并不是任何非常快速的开箱即用解决方案。但是还有其他的方法。我并不是说这是解决问题的正确或唯一方法,但我之前已经用这种方法实

我在一个文件夹中有5000个文件,每天新文件都会加载到同一个文件中。我需要得到最新的文件,只有每天的基础上,所有的文件

是否有可能在Mule out-of-box中实现该场景

已尝试将文件组件保留在轮询组件内(以利用水印),但无法工作

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

Mule Studio:5.3,运行时3.7.2。
提前感谢

简短回答:并不是任何非常快速的开箱即用解决方案。但是还有其他的方法。我并不是说这是解决问题的正确或唯一方法,但我之前已经用这种方法实现了类似的场景:

以数据库表作为文件日志的正常入站文件。每次处理新文件时,组件都会检查其名称是否出现在表中。通过选择或筛选,我只在文件不在其中时才继续,处理后,我将文件名添加到表中


不过,这是一个相当“沉重”的解决方案。更简单的方法是使用具有对象存储的幂等过滤器。例如,Redis服务器:

如果传入文件包含时间戳,实际上非常简单……。您可以通过设置file:filename regex filter pattern=“myfilename_35;[函数:timestamp].csv”来配置文件入站连接器。我希望这对您有所帮助,因为您可以使用quartz调度程序(在cron表达式中提及时间),然后使用groovy脚本启动文件连接器。将文件连接器保持在另一个流中。

谢谢您的命令。我的项目不涉及与此要求相关的DB表w.r.t。谢谢。例如:如果我想处理今天生成的文件(示例10文件)。如何单独指定当前的过滤器模式。如果是明天,则代码需要更改,自动更改为明天的日期。如果可能的话,请你把剧本贴出来。