2017-10-24 11 views
0

転送されるたびに私はこのようなストリームを作成言うことができます:FTPサーバー2つのファイルの両方が転送され、シンクはこのような何かをログに記録するログされますが含まれている場合FTPソース - 取得ファイル参照ファイルは

stream create --name ftpstream --definition "ftp --username=ftpuser --password=pass123 --host=host.com --remoteDir=/home/ftpuser --mode=ref | log" --deploy 

を:しかし、この印刷が唯一の新しいファイルが処理される最初の時間に発生し

2017-10-24T20:43:08+0200 1.3.1.RELEASE INFO task-scheduler-3 sink.ftpstream - /tmp/xd/ftp/dummy.txt 
2017-10-24T20:43:08+0200 1.3.1.RELEASE INFO task-scheduler-3 sink.ftpstream - /tmp/xd/ftp/test.txt 

(私はFTPサーバーに新しいファイルを追加する場合、シンクログメッセージをログに記録されます) が、私はすでに削除した場合は、ローカル/tmp/xd/ftpディレクトリからファイルを転送します、ファイルは変換されます再度エラーは発生しますが、シンクログメッセージは書き込まれません。

ファイルが転送されるたびにファイル参照を正しく取得する方法はありますか?

ありがとうございました。

答えて

0

カスタムFTPソースが必要です。デフォルトのソースはlocal-filterAcceptOnceFileListFilterとなっていますので、同じファイルを2度渡すことはありません(フェッチしても)。

FileSystemPersistentAcceptOnceFileListFilterを使用すると、lastModifiedの日付が変更された場合にファイルを渡します。

+0

ありがとうございます、私はドキュメントを読んで、あなたが提案したことはそのトリックを行うべきです。また、春の統合バージョン4.3.8のFileSystemPersistentAcceptOnceFileListFilterはデフォルトの設定にする必要があります。 –

関連する問題