第103章 File コンポーネント

Camel バージョン 1.0 以降で利用可能

File コンポーネントはファイルシステムへのアクセスを提供します。これにより、ファイルを他の Camel コンポーネントで処理したり、他のコンポーネントからのメッセージをディスクに保存したりできます。

103.1. URI 形式

file:directoryName[?options]

または

file://directoryName[?options]

directoryName は基礎となるファイルディレクトリーを表します。

URI には、?option=value&option=value&…​ の形式でクエリーオプションを追加できます。

ディレクトリーのみ

Camel は、開始ディレクトリーで設定されたエンドポイントのみをサポートします。そのため、directoryName はディレクトリーである必要があります。
1 つのファイルのみ使用する場合は、fileName オプションを使用できます (例: fileName=thefilename)。
また、開始ディレクトリーに $\{ } プレースホルダーを使用した動的な式を含めることはできません。ここでも、fileName オプションを使用してファイル名の動的部分を指定します。

警告

別のアプリケーションによって書き込まれている最中のファイルの読み取りは回避してください。JDK File IO API は、別のアプリケーションがファイルに対して書き込み/コピーを実行している最中かどうかの検出に少し制限があることに注意してください。実装は、OS プラットフォームによっても異なる場合があります。これにより、別のプロセスでロックされていないと Camel が判断して消費を開始する可能性があります。したがって、お使いの環境に何が適しているかを独自に調査する必要があります。これを支援するために、Camel では、使用できるさまざまな readLock オプションと doneFileName オプションを提供しています。Consuming files from folders where others drop files directly セクションも参照してください。