2017-04-04 5 views
0

私の要件は既存のプロセスをサポートすることです。参加者はfilename * .csvをアップロードし、filename * .markerをftpの場所にアップロードします。 filename * .markerが同じftpの場所に存在すると、filename * .csvのftpダウンロードをトリガーしたいと思います。このプロセスは変更できません。 .markerファイルがあると、.csvファイルの更新が完了し、.csvファイルの処理フローが開始されます。私は、スプリング統合のFTPサポートのインバウンド・チャネル・アダプターを探していました。しかし、同じ場所にファイル名* .markerが存在する場合、いくつかのフィルタ条件(ファイル名* .csv)でファイルをダウンロードするサポートはありません。つまり、いくつかの基準でリモートファイルをフィルタリングしたいが、異なるファイルをダウンロードしたい(インバウンドチャネルアダプタを使用している可能性がある)。何かを実装してカスタマイズできるかどうか教えてください。バネ統合FTPサポートを使用して、ファイル名* .markerファイルがFTPサーバー上に存在する場合、ファイル名* .csvをダウンロードする方法

答えて

1

*.markerが存在しない場合は、*.csvファイルを無視するカスタムフィルタが必要です。

public class MyMarkerFilter implements FileListFilter<FTPFile> { 
    ... 
} 

そして、filterFilesにあなたは、フィルタを通過したくないファイルをドロップします。

これは一般的な使用例です。contributingフレームワークへのフィルタを考慮してください。

関連する問題