2016-11-18 35 views
1

我想监视一个远程文件的变化,当添加一些东西时,将这些添加的东西逐行传送到别的地方。骆驼是否适合使用更改的ftp文件?

如果使用fileSize作为idempotentKey,可以检测到文件更改,但消费者始终从头开始,导致大量重复。

那么,有什么建议吗?

+0

Apache Camel不是一个文件监控工具,它是一个集成框架,通常监控文件的更改(除非用于消费)不是主要功能的一部分。 –

+0

你的意思是消费者总是从头开始?你想从哪里开始? –

回答

0

不幸的是,您的用例没有内置的支持 - 并且有很好的理由:这不是FTP设想的工作方式,因为没有一个本地FTP命令可以让您观看一个文件并不断传输新内容。

但是骆驼仍然可以帮助您避免手动轮询 - 您可以使您的幂等关键字由文件名和文件长度组成,然后手动跟踪从DB或内存中每个文件读取的最后一行缓存,取决于您的使用情况。然后,只要你检测到更新,你只需要跳过所有最后一行并继续消费。