104.4. サンプル

myfile.txt などの固定 定数 式を入力できます。

fileName="myfile.txt"

ファイルコンシューマーを使用してファイルを読み取り、読み取ったファイルを移動して、現在の日付をサブフォルダーとして持つバックアップフォルダーに移動するとします。これは、次のような式を使用してアーカイブできます。

fileName="backup/${date:now:yyyyMMdd}/${file:name.noext}.bak"

相対フォルダー名もサポートされているため、バックアップフォルダーがシブリングフォルダーであると仮定すると、次のように .. を追加できます。

fileName="../backup/${date:now:yyyyMMdd}/${file:name.noext}.bak"

これは Simple 言語の拡張であるため、この言語の利点をすべて活用できるので、このユースケースでは、in.header.type を動的式のパラメーターとして使用します。

fileName="../backup/${date:now:yyyyMMdd}/type-${in.header.type}/backup-of-${file:name.noext}.bak"

式で使用するカスタムの日付がある場合、Camel はメッセージヘッダーからの日付の取得をサポートします

fileName="orders/order-${in.header.customerId}-${date:in.header.orderDate:yyyyMMdd}.xml"

最後に、Bean 式を使用して、使用する文字列出力 (または文字列に変換可能) を生成する POJO クラスを呼び出すこともできます。

fileName="uniquefile-${bean:myguidgenerator.generateid}.txt"

そしてもちろん、これらすべてを 1 つの式に結合して、ファイル言語Simple および Bean 言語を 1 つの結合式で使用できます。これは、これらの一般的なファイルパスパターンに対して非常に強力です。