69.4. サンプル
myfile.txt などの固定ファイル名を入力できます。
fileName="myfile.txt"
fileName="myfile.txt"
ファイルコンシューマーを使用してファイルを読み取り、読み取りファイルを移動して、現在の日付を持つフォルダーをサブフォルダーとしてバックアップすると仮定します。これは、以下のような式を使用して実行できます。
fileName="backup/${date:now:yyyyMMdd}/${file:name.noext}.bak"
fileName="backup/${date:now:yyyyMMdd}/${file:name.noext}.bak"
相対フォルダー名もサポートされるため、バックアップフォルダーがシブリングフォルダーの場合は、以下に示すように ... を追加でき ます。
fileName="../backup/${date:now:yyyyMMdd}/${file:name.noext}.bak"
fileName="../backup/${date:now:yyyyMMdd}/${file:name.noext}.bak"
これは言語の拡張機能であるため、この言語からすべての商品にアクセスできるため、このユースケースでは動的式のパラメーターとして in.header.type を使用します。
fileName="../backup/${date:now:yyyyMMdd}/type-${in.header.type}/backup-of-${file:name.noext}.bak"
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"
fileName="orders/order-${in.header.customerId}-${date:in.header.orderDate:yyyyMMdd}.xml"
最後に、Bean 式を使用して、使用する String 出力を生成する POJO クラスを呼び出すこともできます(または String に変換可能)。
fileName="uniquefile-${bean:myguidgenerator.generateid}.txt"
fileName="uniquefile-${bean:myguidgenerator.generateid}.txt"
当然ながら、これらはすべて 1 つの式に組み合わせることができます。ここで、および 言語を 1 つの組み合わせ式で使用できます。これは、これらの一般的なファイルパスパターンで非常に強力です。