Apache camel 使用Camel Ftp组件损坏的文件

Apache camel 使用Camel Ftp组件损坏的文件,apache-camel,ftp-client,camel-ftp,Apache Camel,Ftp Client,Camel Ftp,我正在使用ApacheCamel制作一个ftp客户端,用于将一些文件下载到某个本地目录。程序读取一个xml文件以获取将从ftp获取的文件名。除了下载的文件已损坏外,该程序似乎正常工作。现在我正试图下载一些图像文件,但我得到的是14.9Kb和损坏,没有显示错误消息 这是我的代码: 主要 骆驼路线: from("file:./?fileName=Datos.xml&noop=true") .split(xpath("//Datos/imagen/text()"))

我正在使用ApacheCamel制作一个ftp客户端,用于将一些文件下载到某个本地目录。程序读取一个xml文件以获取将从ftp获取的文件名。除了下载的文件已损坏外,该程序似乎正常工作。现在我正试图下载一些图像文件,但我得到的是14.9Kb和损坏,没有显示错误消息

这是我的代码:

主要

骆驼路线:

from("file:./?fileName=Datos.xml&noop=true")
        .split(xpath("//Datos/imagen/text()"))
        .setProperty("rutaArchivo", this.body())
        .log(LoggingLevel.INFO, "imagen: ${body}")
        .process(ExtraerNombre).to("direct:ftp").end(); 

        from("direct:ftp")  
        .pollEnrich("ftp://"+user+"@"+ftp+"/?password="+password+"&recursive=true&passiveMode=true&fileName=${body}&delete="+borrado+"")
        .to("file:C:/outputFolder?flatten=true").end();
    }
我尝试过使用streamDownload参数,但tha阻止下载文件(我不知道为什么)

控制台日志:

信息| Apache Camel 2.15.1.redhat-621084(CamelContext:Camel-1)是 正在启动0[main]INFO org.apache.camel.impl.DefaultCamelContext- ApacheCamel 2.15.1.redhat-621084(CamelContext:Camel-1)正在启动 信息| JMX已启用10[主]信息 org.apache.camel.management.ManagedManagementStrategy-JMX是 启用信息|加载185型转换器208[主]信息 org.apache.camel.impl.converter.DefaultTypeConverter-已加载185 类型转换器信息| AllowUseOriginalMessage已启用。如果访问 若原始信息不需要,则建议将其转为 此选项将关闭,因为它可能会提高性能。395[主]信息 org.apache.camel.impl.DefaultCamelContext-AllowUseOriginalMessage 已启用。如果不需要访问原始消息,则其 建议关闭此选项,因为它可能会提高性能。 信息|未使用StreamCaching。如果使用流,则其 建议启用流缓存。有关更多详细信息,请参阅 395[主]信息 org.apache.camel.impl.DefaultCamelContext-StreamCaching不在 使用。如果使用流,则建议启用流缓存。 请参阅信息部分的更多详细信息 |端点配置为noop=true,因此强制端点 幂等元以及395[main]信息 org.apache.camel.component.file.FileEndpoint-已配置端点 如果noop=true,则强制端点也是幂等的| 使用具有缓存最大大小的默认基于内存的幂等存储库: 1000 395[main]INFO org.apache.camel.component.file.FileEndpoint- 使用具有缓存最大大小的默认基于内存的幂等存储库: 1000信息|路线:路线1从以下地点开始使用: 端点[file://./?fileName=Datos.xml&noop=true]502[主]信息 org.apache.camel.impl.DefaultCamelContext-路由:route1已启动并 消费自:端点[file://./?fileName=Datos.xml&noop=true]信息 |路由:路由2已启动并从以下位置使用:终结点[direct://ftp] 504 [main]INFO org.apache.camel.impl.DefaultCamelContext-路由:route2 从以下位置开始和使用:终结点[direct://ftp]信息|总计2 路由,其中2个已启动。504[主]信息 org.apache.camel.impl.DefaultCamelContext-总共2条路由,其中 第二步是启动。信息| Apache Camel 2.15.1.redhat-621084(CamelContext: 骆驼-1)在0.504秒后启动507[主]信息 org.apache.camel.impl.DefaultCamelContext-apache camel 2.15.1.redhat-621084(CamelContext:camel-1)在0.504秒后启动。信息|创建默认XPathFactory com.sun.org.apache.xpath.internal.jaxp。XPathFactoryImpl@5434283f1533 [骆驼(骆驼-1)线#0-file://./]信息 org.apache.camel.builder.xml.XPathBuilder-创建默认值 XPathFactory com.sun.org.apache.xpath.internal.jaxp。XPathFactoryImpl@5434283f信息 |图像: 1635[骆驼(骆驼-1)线#0-file://./]信息路由1-图像: 信息| Apache Camel 2.15.1.redhat-621084(CamelContext:Camel-1)正在关闭 down 10521[main]INFO org.apache.camel.impl.DefaultCamelContext- Apache Camel 2.15.1.redhat-621084(CamelContext:Camel-1)正在关闭 关闭信息|开始关闭2条路由(超时300 秒)10524[主]信息 org.apache.camel.impl.DefaultShutdownStrategy-开始优雅 关闭2条路由(超时300秒)信息|正在等待 还有3次机上和待完成的交换,300分钟后超时 秒。10524[驼峰(驼峰-1)线程#2-关闭任务]信息 org.apache.camel.impl.DefaultShutdowsStrategy-正在等待 还有3次机上和待完成的交换,300分钟后超时 秒。信息|正在等待,因为仍有3架在飞和等待中 交换完成,超时时间为299秒。11525[骆驼(骆驼-1) 线程#2-关机任务]信息 org.apache.camel.impl.DefaultShutdowsStrategy-正在等待 还有3次飞行中和待完成的交换,299分钟超时 秒。信息|正在等待,因为仍有3架在飞和等待中 交换完成,超时298秒。12528[骆驼(骆驼-1) 线程#2-关机任务]信息 org.apache.camel.impl.DefaultShutdowsStrategy-正在等待 仍有3次机上和待完成的交换,298次超时 秒。信息|正在等待,因为仍有3架在飞和等待中 交换完成,超时297秒。13529[骆驼(骆驼-1) 线程#2-关机任务]信息 org.apache.camel.impl.DefaultShutdowsStrategy-正在等待 仍有3次机上和待完成的交换,297分钟超时 秒。信息|正在等待,因为仍有3架在飞和等待中 交换完成,超时296秒。14540[骆驼(骆驼-1) 线程#2-关机任务]信息 org.apache.camel.impl.DefaultShutdowsStrategy-正在等待 仍有3次机上和待完成的交换,296次超时 秒。信息|正在等待,因为仍有3架在飞和等待中 交换完成,超时295秒。15555[骆驼(骆驼-1) 线程#2-关机任务]信息 org.apache.camel.impl.DefaultShutdowsStrategy-正在等待 还有3次机上和待完成的交换,295分钟超时 秒。信息|正在等待,因为仍有3架在飞和等待中 交换完成,超时294秒。16568[骆驼(骆驼-1) 螺纹#2-关闭TA
from("file:./?fileName=Datos.xml&noop=true")
        .split(xpath("//Datos/imagen/text()"))
        .setProperty("rutaArchivo", this.body())
        .log(LoggingLevel.INFO, "imagen: ${body}")
        .process(ExtraerNombre).to("direct:ftp").end(); 

        from("direct:ftp")  
        .pollEnrich("ftp://"+user+"@"+ftp+"/?password="+password+"&recursive=true&passiveMode=true&fileName=${body}&delete="+borrado+"")
        .to("file:C:/outputFolder?flatten=true").end();
    }
.pollEnrich("ftp://"+user+"@"+ftp+"/?password="+password+"&recursive=true&passiveMode=true&streamDownload=true&fileName=${body}&delete="+borrado+"")