101.4. サンプル
myfile.txt
などの固定 Constant 式を入力できます。
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 式を使用して、使用する String 出力を生成する POJO クラスを呼び出すこともできます(または String に変換されます)。
fileName="uniquefile-${bean:myguidgenerator.generateid}.txt"
当然ながら、これは 1 つの式に統合できます。この式では、File Language、Simple、および Bean 言語を 1 つの式で使用できます。これは、このような一般的なファイルパスパターンで非常に強力です。