104.13. 完了ファイルの使用
Camel 2.6 以降で利用可能
以下のセクション 書き込み完了ファイル も参照してください。
完了ファイルが存在する場合にのみファイルを使用する場合は、エンドポイントで doneFileName
オプションを使用できます。
from("file:bar?doneFileName=done");
完了した ファイル がターゲットファイルと同じディレクトリーに存在する場合、bar フォルダーのファイルのみを消費します。Camel は、ファイルの消費が完了すると、完了した ファイルを自動的に削除します。Camel 2.9.3 以降では、noop=true
が設定されている場合、Camel は 完了したファイル を自動的に削除しません。
ただし、ターゲットファイルごとに 1 つの 完了ファイル を作成する方が一般的です。これは、1:1 の相関があることを意味します。これを行うには、doneFileName
オプションで動的プレースホルダーを使用する必要があります。現在、Camel は次の 2 つの動的トークンをサポートしています: file:name
と file:name.noext
は $\{ } で囲む必要があります。consumer は、done ファイル 名の静的部分のみを接頭辞または接尾辞 (両方ではない) としてサポートします。
from("file:bar?doneFileName=${file:name}.done");
この例では、ファイル名 が .done の完了ファイルが存在する場合にのみ、ファイルがポーリングされます。以下に例を示します。
-
hello.txt
- 使用するファイルです -
hello.txt.done
- 関連する完了ファイルです
次のように、done ファイルの接頭辞を使用することもできます。
from("file:bar?doneFileName=ready-${file:name}");
-
hello.txt
- 使用するファイルです -
ready-hello.txt
- 関連する完了ファイルです