使用exec进行Apache camel多文件处理

时间:2012-09-12 04:11:37

标签: apache-camel

我无法修复这条简单的路线,在执行后立即获得异常。看起来像执行生产者和写文件。

例外:

  

org.apache.camel.component.file.GenericFileOperationFailedException:无法存储文件:C:\ camel_tests \ stage \ 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 个答案:

答案 0 :(得分:1)

你应该把它分成2条路线。第一个做from - > EXEC 而第二个来自 - >过程 - >到

然后,第二个将处理来自winrar的每个提取文件。