我对 Apache camel 很陌生,我正在探索如何创建一个 rout,例如每 15 分钟从 ftp 提取数据并只提取新的或更新的文件,所以如果一些文件被提前下载并且仍然是相同(未更改)的 ftp 加载程序不应将它们加载到目标文件夹。
任何建议都非常感谢。
更新#1
我已经注意到我需要查看 FTP2,实际上我已经取得了进展,我要澄清的最后一件事:consumer.dealy 定义了每次下载尝试之间的延迟,例如 consumer.delay = 5s并且在第一次尝试 ftp 包含 5 个文件时,消费者将数据拉到某个地方并在第二次尝试时等待 5 秒 ftp 仍然相同,骆驼什么也不做,之后到 ftp 到达另外 5 个文件,5 秒后 ftp 消费者下载这些刚刚到达新文件或 consumer.delay 只是让消费者在每次下载文件之间等待(file#1 -> 5s -> file#2 -> 5s -> etc...)
我想实现第一个场景。
另外,我观察到一旦一些文件被下载到目标文件夹,我的意思是从 ftp 到本地文件系统,这些文件将在后续数据加载中被忽略,即使这些文件在本地文件系统上被删除,我怎么知道骆驼再次下载已删除的文件,它如何存储有关已加载文件的信息?并且似乎每次在第一次数据提取时甚至下载文件时它都会下载所有文件。我是否需要编写过滤器来排除已下载的文件?