2017-09-26 12 views
0

ファイルをメインディレクトリのサブディレクトリの1つにダンプして処理するファイルベースの統合を構築しようとしています。そのファイルがどのクライアントのためのものかを知るためにサブディレクトリの名前を取得する必要があります。だから私は持っている場合:私は、そのファイルを処理し、それがクライアント「foo」というためだということを知っておく必要がありApache Camel File2の相対パスセグメントを取得する方法

/uploads/foo/bar.txt。私はその部分を取得し、bar.txtファイルを処理するプロセッサーのヘッダーとして設定する方法がわかりません。私はファイルを処理して処理しているので、今度はこのファイルに追加する必要があります。

誰でも私のアイデアはありますか?

答えて

2

この情報のほとんどは、交換のヘッダーで取得できます。あなたの状況では、ファイルを消費しているとして、次の項目がavlableです:

  • CamelFileName:エンドポイント上で設定開始ディレクトリからのオフセット との相対ファイルパスとして消費ファイルの名前。

  • CamelFileNameOnly:ファイル名(先頭には のパスがない名前)のみです。

  • CamelFileAbsolute:消費された ファイルが絶対パスを示すかどうかを指定するブールオプション。通常、相対パスは の場合はfalseにする必要があります。絶対パスは通常は使用されませんが、移動オプションに が追加され、ファイルを絶対パスに移動することができます。しかし は他の場所でも使用できます。
  • CamelFileAbsolutePath:ファイルへの絶対パス。相対 ファイルの場合、このパスは相対パスを保持します。
  • CamelFilePath:ファイルパス。相対ファイルの場合、これは開始ディレクトリ+相対ファイル名です。アブソリュートファイルの場合、これは絶対パスです。
  • CamelFileRelativePath:相対パス。
  • CamelFileParent:親パス。
  • CamelFileLength:ファイルサイズを含む長い値。
  • CamelFileLastModified:ファイルの最後に変更された タイムスタンプを含むDate値。

あなたがガイドラインとして次の例を使用して探している情報は、これらのヘッダを照会することができます

<log message ="${header.CamelFileAbsolutePath}"/> 

は、より多くの詳細については、ラクダのウェブサイトでthe file component documentsを参照してください。

関連する問題