2012-09-12 61 views
1

我無法解決這個簡單的路線,執行後得到異常。看起來像執行是作爲生產者和寫作文件。Apache駱駝多個文件處理與執行

例外:

org.apache.camel.component.file.GenericFileOperationFailedException:不能存儲文件:C:\ camel_tests \臺\ Downloads.rar

路線:

主目錄將有一個帶有圖像的rar文件,應該使用winrar.exe解壓縮,rar中的每個文件都經過文件處理,並且一旦完成此路由,最終移動到arch目錄。上一次成功的階段是提取階段目錄中的文件。

這裏CMD_EXPLODE = "\"C:/Program Files/WinRAR/WinRAR.exe\"";

from("file://C:/camel_tests/home?fileName=Downloads.rar&preMove=//C:/camel_tests/stage") 
.to("exec:"+Consts.CMD_EXPLODE+"?args=e Downloads.rar&workingDir=C:/camel_tests/stage&outFile=decompress_output.txt") 
.to("file://C:/camel_tests/stage?exclude=.*.rar") 
.process(new PrintFiles()) 
.to("file://C:/camel_tests/stage?fileName=Downloads.rar&move=//C:/camel_tests/arch").end(); 

回答

1

你應該拆分成2路。第一個是從 - >執行 和第二個從 - >進程 - >到

第二個然後將處理每個提取的文件從winrar。

+0

謝謝,當我把它們分成三部分時,它就可以工作。但我想傳遞關聯id(stage1到stage3)和其他一些頭部細節,以便我可以在最後使用聚合器 進行合併/處理。所以當我使用「直接」或「seda」連接它們時,獲得與以前相同的異常。 – preet