2014-03-12 65 views
5

根據https://camel.apache.org/file2.html,文件組件不能配置動態輸入/輸出文件夾位置?駱駝文件組件中的動態輸入/輸出文件夾位置

是否有任何解決方法/替代方法相同?

謝謝。

問候 塞特希·庫馬爾·謝卡爾

+0

沒有別的我知道的。 – Namphibian

+0

使用收件人列表(http://camel.apache.org/how-do-i-use-dynamic-uri-in-to.html) – Mashrur

+0

與解決方案類似的帖子輸出文件夾位置可能是動態的:http:// stackoverflow。 com/a/32655201/3784642 – berhauz

回答

3

對於文件消費者

您可以使用客戶過濾器作爲目錄/文件皮卡的動態選擇。但起始目錄配置一次(硬編碼)。

爲了改變這種情況,您需要停止路線,並更改目錄,並再次啓動路線 - 如果您想嘗試該方向。

對於文件製作

文件名是完全動態的,你可以只設置一個名稱爲你想要的文件頭。詳情請參閱文檔。

+1

OP想要一個動態輸出*文件夾*位置;只有文件端點的'fileName'部分可以是動態AFAICT。 – pimlottc

+0

請注意,如果您使用CAMEL FTP/SFTP/FTPS組件(v2.16.3,可能包含其他版本)構建動態URI,則必須確保URI的所有可變部分都作爲標題屬性傳遞,而不是URI選項;您的URI必須與每次發送完全相同(可以使用$ {}道具)。事實上,動態端點被記錄在緩存中用於每次傳輸,並且如果URI由於單個字符而不同,則分配新對象。這個bug https://issues.apache.org/jira/browse/CAMEL-10281會爆炸你的堆,記錄的緩存限制(缺省值1000)不會被強制執行。 – berhauz

1

您也可以使用標頭CamelFileName來動態設置目錄。斜線將被轉換爲目錄。

例如:CamelFileName = "directory/dyn_subdirectory_n/myfilename.txt"將被置於位於"directory"的目錄"dyn_subdirectory_n"。文件名將是"myfilename.txt"