我是Apache骆驼的新手,我正在探索如何创建一个从ftp中提取数据的路径,例如每15分钟一次,并且只提取新的或更新的文件,所以如果一些文件早期下载并且仍然相同(不变) )ftp加载程序不应将它们加载到目标文件夹。
我们非常感谢任何建议。
更新#1
我已经注意到我需要查看FTP2,实际上我已经取得了进展,我想澄清的最后一件事:consumer.dealy定义了每次下载尝试之间的延迟,例如消费者。延迟= 5s并且在第一次尝试时ftp包含5个文件,消费者将数据拉到某处并在第二次尝试时等待5s ftp仍然是相同的并且骆驼什么都不做,之后到ftp到达额外的5个文件并且在5秒后ftp消费者下载这些刚刚到达的新文件或consumer.delay只是让消费者在每次下载文件之间等待(文件#1 - > 5s - >文件#2 - > 5s - >等...)
我想实现第一种情况。
另外,我观察到一旦某些文件被下载到目标文件夹,我的意思是从ftp到本地文件系统,这些文件将在后续数据加载时被忽略,即使这些文件在本地文件系统上被删除,如何我可以告诉骆驼再次下载已删除的文件,它如何存储已加载文件的信息?并且它似乎每次下载所有文件,甚至文件在第一次数据拉取下载。我是否需要编写过滤器来排除已下载的文件?
答案 0 :(得分:2)
apache camel http://camel.apache.org/ftp.html
有FTP组件使用“consumer.delay”属性在每次轮询之间以毫秒为单位提取延迟数据。
了解实施细节,请点击此处http://architects.dzone.com/articles/apache-camel-integration