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");
  1. 上記と同じですが、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");