104.19. ファイルへの書き込み
もちろん、Camel はファイルを書き込むこともできます。つまり、ファイルを生成します。以下のサンプルでは、ディレクトリーに書き込まれる前に処理する SEDA キューに関するいくつかのレポートを受け取ります。
104.19.1. Exchange.FILE_NAME
を使用してサブディレクトリーに書き込む
単一のルートを使用して、任意の数のサブディレクトリーにファイルを書き込むことができます。そのようなルート設定がある場合:
<route> <from uri="bean:myBean"/> <to uri="file:/rootDirectory"/> </route>
myBean
でヘッダー Exchange.FILE_NAME
を次のような値に設定できます。
Exchange.FILE_NAME = hello.txt => /rootDirectory/hello.txt Exchange.FILE_NAME = foo/bye.txt => /rootDirectory/foo/bye.txt
これにより、単一のルートでファイルを複数の宛先に書き込むことができます。
104.19.2. 最終宛先に相対的な一時ディレクトリーを介してファイルを書き込む
宛先ディレクトリーからの相対ディレクトリーにファイルを一時的に書き込む必要がある場合があります。このような状況は通常、フィルタリング機能が制限された外部プロセスが、書き込み先のディレクトリーから読み取っているときに発生します。以下の例では、ファイルは /var/myapp/filesInProgress
ディレクトリーに書き込まれ、データ転送が完了すると、原子的に/var/myapp/finalDirectory ディレクトリーに移動されます。
from("direct:start"). to("file:///var/myapp/finalDirectory?tempPrefix=/../filesInProgress/");