1
我想監視一個遠程文件的變化,當添加一些東西時,將這些添加的東西逐行傳送到別的地方。駱駝是否適合使用更改的ftp文件?
如果使用fileSize作爲idempotentKey,可以檢測到文件更改,但消費者始終從頭開始,導致大量重複。
那麼,有什麼建議嗎?
我想監視一個遠程文件的變化,當添加一些東西時,將這些添加的東西逐行傳送到別的地方。駱駝是否適合使用更改的ftp文件?
如果使用fileSize作爲idempotentKey,可以檢測到文件更改,但消費者始終從頭開始,導致大量重複。
那麼,有什麼建議嗎?
不幸的是,您的用例沒有內置的支持 - 並且有很好的理由:這不是FTP設想的工作方式,因爲沒有一個本地FTP命令可以讓您觀看一個文件並不斷傳輸新內容。
但是駱駝仍然可以幫助您避免手動輪詢 - 您可以使您的冪等關鍵字由文件名和文件長度組成,然後手動跟蹤從DB或內存中每個文件讀取的最後一行緩存,取決於您的使用情況。然後,只要你檢測到更新,你只需要跳過所有最後一行並繼續消費。
Apache Camel不是一個文件監控工具,它是一個集成框架,通常監控文件的更改(除非用於消費)不是主要功能的一部分。 –
你的意思是消費者總是從頭開始?你想從哪裏開始? –