gpt4 book ai didi

java - Apache Camel 增量和定期从 ftp 中提取数据

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:38:13 25 4
gpt4 key购买 nike

我是 Apache camel 的新手,我正在探索如何创建一个路由,例如每 15 分钟从 ftp 中提取数据,并且只提取新的或更新的文件,所以如果一些文件提前下载并且仍然相同(未更改) ) ftp 加载程序不应将它们加载到目标文件夹。

非常感谢任何建议。

更新#1

我已经注意到我需要查看 FTP2,实际上我已经取得了进展,我想澄清的最后一件事:consumer.dealy 定义了每次下载尝试之间的延迟,例如 consumer。 delay = 5s 并且在第一次尝试时 ftp 包含 5 个文件,消费者将数据拉到某个地方并在第二次尝试时等待 5s ftp 仍然相同并且 camel 什么都不做,之后 ftp 到达额外的 5 个文件并且在 5 秒后 ftp 消费者下载这些刚刚到达的新文件或 consumer.delay 只是让消费者在每次下载文件之间等待(file#1 -> 5s -> file#2 -> 5s -> etc...)

我想实现第一个场景。

此外,我观察到一旦一些文件被下载到目标文件夹,我的意思是从 ftp 到本地文件系统,这些文件将在后续数据加载中被忽略,即使这些文件在本地文件系统上被删除,如何我可以告诉 Camel 再次下载已删除的文件,它如何存储有关已加载文件的信息?而且似乎每次在第一次数据拉取时甚至下载文件时它都会下载所有文件。我是否需要编写过滤器来排除已下载的文件?

最佳答案

apache camel 有 FTP 组件 http://camel.apache.org/ftp.html

使用“consumer.delay”属性提取每次轮询之间以毫秒为单位的延迟数据。

有关实现细节,请查看此处 http://architects.dzone.com/articles/apache-camel-integration

关于java - Apache Camel 增量和定期从 ftp 中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5685717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com