【问题标题】:Apache camel multiple file processing with execApache骆驼多文件处理与exec
【发布时间】:2012-10-06 22:33:34
【问题描述】:

我无法修复这条简单的路线,在执行后立即出现异常。似乎 execute 正在充当生产者并覆盖文件。

例外:

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();

【问题讨论】:

    标签: apache-camel


    【解决方案1】:

    您应该将其分成 2 条路线。第一个执行 from -> exec 第二个从 -> 过程 -> 到

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

    【讨论】:

    • 谢谢,当我将它们分成三个部分时,它可以工作。但我想传递相关 ID(stage1 到 stage3)和其他一些标题细节,以便我可以在最后使用聚合器进行组合/处理。因此,当我使用“直接”或“seda”连接它们时,会出现与以前相同的异常。
    猜你喜欢
    • 2014-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多