ftp - Apache Camel FTP 下载不会删除远程文件

标签 ftp apache-camel camel-ftp

首先:我对 Apache Camel 和 Stack Overflow 还是很陌生!

我创建了一个路由,它从 SFTP 服务器过滤和下载文件,并在处理后删除这些文件。

我的问题:在我的本地计算机上,路由运行良好。当我在生产服务器上部署此路由(相同的 .war)时,下载工作但当 FTP 组件尝试删除文件时,我收到以下异常。开发和生产机器有相同的camel、tomcat和java版本。唯一的区别是操作系统(开发:Windows 7,生产:Windows Server 2008 R2)

有任何想法吗???

java.lang.IllegalArgumentException: Resolving language: header detected type conflict: Not a Language implementation. Found: org.apache.camel.language.header.HeaderLanguage
at org.apache.camel.impl.DefaultLanguageResolver.resolveLanguage(DefaultLanguageResolver.java:76)
at org.apache.camel.impl.DefaultCamelContext.resolveLanguage(DefaultCamelContext.java:1135)
at org.apache.camel.model.language.ExpressionDefinition.createExpression(ExpressionDefinition.java:177)
at org.apache.camel.model.language.ExpressionDefinition.evaluate(ExpressionDefinition.java:118)
at org.apache.camel.builder.BinaryPredicateSupport.matchesReturningFailureMessage(BinaryPredicateSupport.java:60)
at org.apache.camel.builder.BinaryPredicateSupport.matches(BinaryPredicateSupport.java:50)
at org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:90)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:105)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:60)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:166)
at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:401)
at org.apache.camel.component.file.remote.RemoteFileConsumer.processExchange(RemoteFileConsumer.java:99)
at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:201)
at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:165)
at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:187)
at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:114)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)

这是路线:
        String uri = "sftp://" + sftpUserId + "@" + sftpHost + "?" +
                "password=" + sftpPassword + "&" +
                "recursive=true" + "&" +                
                "filter=#fileFilter" + "&" +  
                "binary=true" + "&" +
                "delete=true";

最佳答案

这是另一种类型的问题。您需要详细了解生产环境。你是否为你的 Camel 应用程序使用了一些特殊的应用程序服务器或者你如何运行它?

该错误表明某种类加载问题。

关于ftp - Apache Camel FTP 下载不会删除远程文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25199229/

相关文章:

ftp - lftp 超时不起作用

apache-camel - Camel SFTP 文件处理问题

apache-camel - 如何从 Camel FTP 路由交换中获取实际文件对象

java - Apache Camel ftp 组件 - 成功传输的通知

java - FTPClient下载文件失败,retrieveFile()方法replyCode=550

java - 如何使用 Java/FTP 在 Windows 上下载/打开 PDF 文件?

C# - Ftp 协议(protocol)实现

java - 使用 Camel 的最合适的架构

java - Camel 使用 xpath 进行 Action 过滤

java - Spring Boot-Camel-Maven : How to add my own parent Dependency along with Spring Boot Dependency?