103.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:namefile:name.noext は $\{ } で囲む必要があります。コンシューマーは、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 - 関連する完了ファイルです