103.3. 移動および削除操作


移動または削除操作は、ルーティングが完了した後 (ポストコマンド) に実行されます。そのため、Exchange の処理中、ファイルはまだ受信トレイフォルダーにあります。

これを例で説明しましょう。

from("file://inbox?move=.done").to("bean:handleOrder");
Copy to Clipboard Toggle word wrap

ファイルが inbox フォルダーにドロップされると、ファイルコンシューマーはこれに気づき、handleOrder Bean にルーティングされる新しい FileExchange を作成します。次に、Bean は File オブジェクトを処理します。この時点で、ファイルはまだ inbox フォルダーにあります。Bean が完了してルートが完了すると、ファイルコンシューマーは移動操作を実行し、ファイルを .done サブフォルダーに移動します。

move および preMove オプションは、ディレクトリー名と見なされます (ただし、File 言語 や Simple などの式を使用する場合は、式の評価結果が使用されるファイル名になります。

move=../backup/copy-of-${file:name}
Copy to Clipboard Toggle word wrap

次に、使用する File 言語 で、使用するファイル名を返します)。これは、相対または絶対パスのいずれかです。相対の場合、ディレクトリーは、ファイルが消費されたフォルダー内のサブフォルダーとして作成されます。

デフォルトでは、Camel は消費されたファイルを、ファイルが消費されたディレクトリーに相対的な .camel サブフォルダーに移動します。

処理後にファイルを削除する場合、ルートは次のようになります。

from("file://inobox?delete=true").to("bean:handleOrder");
Copy to Clipboard Toggle word wrap

処理 にファイルを移動する 事前 移動操作が導入されました。これにより、処理される前にこのサブフォルダーに移動されるときに、どのファイルがスキャンされたかをマークできます。

from("file://inbox?preMove=inprogress").to("bean:handleOrder");
Copy to Clipboard Toggle word wrap

pre の動きと通常の動きを組み合わせることができます。

from("file://inbox?preMove=inprogress&move=.done").to("bean:handleOrder");
Copy to Clipboard Toggle word wrap

したがって、この状況では、ファイルは処理中は inprogress フォルダーにあり、処理後は .done フォルダーに移動されます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat