Red Hat Training
A Red Hat training course is available for Red Hat Fuse
100.10. フォルダーとファイル名に関するよくある問題
Camel がファイルを生成する (ファイルを書き込む) 場合、選択したファイル名を設定する方法に影響するいくつかの問題があります。デフォルトでは、Camel はメッセージ ID をファイル名として使用します。メッセージ ID は通常、一意に生成された ID であるため、ID-MACHINENAME-2443-1211718892437-1-0
のようなファイル名になります。そのようなファイル名が望ましくない場合は、CamelFileName
メッセージヘッダーにファイル名を指定する必要があります。定数 Exchange.FILE_NAME
も使用できます。
以下のサンプルコードは、メッセージ ID をファイル名として使用してファイルを生成します。
from("direct:report").to("file:target/reports");
report.txt
をファイル名として使用するには、次の手順を実行する必要があります。
from("direct:report").setHeader(Exchange.FILE_NAME, constant("report.txt")).to( "file:target/reports");
-
上記と同じですが、
CamelFileName
を使用します:
from("direct:report").setHeader("CamelFileName", constant("report.txt")).to( "file:target/reports");
そして、fileName URI オプションを使用してエンドポイントにファイル名を設定する構文。
from("direct:report").to("file:target/reports/?fileName=report.txt");