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 つの結合式で使用できます。これは、これらの一般的なファイルパスパターンに対して非常に強力です。