3

私はApacheキャメルに非常に慣れていないため、たとえば15分ごとにftpからデータをプルし、新しいファイルまたは更新されたファイルのみをプルするルートを作成する方法を模索しています。それらを宛先フォルダーにロードしないでください。

アドバイスをいただければ幸いです。

更新 #1

FTP2 を確認する必要があることに既に気付きました。実際、私はすでに進歩を遂げています。最後に明確にしたいことは、consumer.delay が各ダウンロード試行間の遅延を定義することです。たとえば、consumer.delay = 5s です。最初の試行でftpには5つのファイルが含まれ、コンシューマーはデータをどこかにプルし、2回目の試行で5秒間待機しますftpはまだ同じで、camelは何もしません。その後、ftpに追加の5つのファイルが到着し、5秒後にftpコンシューマーのダウンロードが到着しましたnew files または consumer.delay は、ファイルの各ダウンロード間で消費者を待機させるだけです (file#1 -> 5s -> file#2 -> 5s -> など...)

最初のシナリオを達成したい。

また、いくつかのファイルが宛先フォルダーにダウンロードされると、つまり ftp からローカル ファイル システムにダウンロードされると、このファイルがローカル ファイル システムで削除されたとしても、その後のデータ ロードではこのファイルが無視されることがわかりました。キャメルに削除されたファイルを再度ダウンロードするには、既にロードされたファイルに関する情報をどのように保存しますか? そして、最初のデータプルでファイルがダウンロードされるたびに、すべてのファイルをダウンロードするようです。既にダウンロードされたファイルを除外するフィルターを作成する必要がありますか?

4

1 に答える 1

2

apache camel 用の FTP コンポーネントがありますhttp://camel.apache.org/ftp.html

「consumer.delay」プロパティを使用して、各ポーリング間のミリ秒単位の遅延のデータを取得します。

実装の詳細については、こちらをご覧ください http://architects.dzone.com/articles/apache-camel-integration

于 2011-04-16T10:03:14.643 に答える