Red Hat Training

A Red Hat training course is available for Red Hat Fuse

100.14. 完了ファイルの書き込み

Camel 2.6 以降で利用可能

ファイルを書き終わったら、ファイルが完成して書き終わったことを他の人に示すために、一種のマーカーとして追加の 完了 ファイル を書きたいと思うかもしれません。これを行うには、ファイルプロデューサーエンドポイントで doneFileName オプションを使用できます。

.to("file:bar?doneFileName=done");

ターゲットファイルと同じディレクトリーに done という名前のファイルを作成するだけです。

ただし、ターゲットファイルごとに 1 つの完了ファイルを作成する方が一般的です。これは、1:1 の相関があることを意味します。これを行うには、doneFileName オプションで動的プレースホルダーを使用する必要があります。現在、Camel は次の 2 つの動的トークンをサポートしています: file:namefile: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 という名前のファイルが作成されます。