104.14. 完了ファイルの書き込み
Camel 2.6 以降で利用可能
ファイルを書き終わったら、ファイルが完成して書き終わったことを他の人に示すために、一種のマーカーとして追加の 完了ファイル を書きたいと思うかもしれません。これを行うには、ファイル producer エンドポイントで doneFileName
オプションを使用できます。
.to("file:bar?doneFileName=done");
ターゲットファイルと同じディレクトリーに done
という名前のファイルを作成するだけです。
ただし、ターゲットファイルごとに 1 つの完了ファイルを作成する方が一般的です。これは、1:1 の相関があることを意味します。これを行うには、doneFileName
オプションで動的プレースホルダーを使用する必要があります。現在、Camel は次の 2 つの動的トークンをサポートしています: file:name
と file:name.noext
は $\{ } で囲む必要があります。
.to("file:bar?doneFileName=done-${file:name}");
たとえば、ターゲットファイルがターゲットファイルと同じディレクトリーにある foo.txt
の場合、done-foo.txt
という名前のファイルを作成します。
.to("file:bar?doneFileName=${file:name}.done");
たとえば、ターゲットファイルがターゲットファイルと同じディレクトリーにある foo.txt
の場合、foo.txt.done
という名前のファイルを作成します。
.to("file:bar?doneFileName=${file:name.noext}.done");
たとえば、ターゲットファイルがターゲットファイルと同じディレクトリーにある foo.txt
の場合、foo.done
という名前のファイルが作成されます。