camel-ftp间歇性问题

时间:2013-02-06 17:18:05

标签: apache-camel

我使用camel-ftp组件将文件上传到服务器。我随机得到以下异常,ftp突然停止可能是什么问题。感谢任何指针。 我使用的骆驼版本是2.10.1

|Caused by: org.apache.camel.component.file.GenericFileOperationFailedException: Cannot store file: 8000211d-5f40-4bac-920a-a2e5f2575870.gpg
|   at org.apache.camel.component.file.remote.SftpOperations.doStoreFile(SftpOperations.java:716)
|   at org.apache.camel.component.file.remote.SftpOperations.storeFile(SftpOperations.java:649)
|   at org.apache.camel.component.file.GenericFileProducer.writeFile(GenericFileProducer.java:249)
|   at org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:151)
|   at org.apache.camel.component.file.remote.RemoteFileProducer.process(RemoteFileProducer.java:49)
|   at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:120)
|   at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:292)
|   at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:115)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
|   at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
|   at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:330)
|   at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)
|   at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
|   at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.Pipeline.process(Pipeline.java:117)
|   at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
|   at org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:81)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
|   at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
|   at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:330)
|   at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)
|   at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
|   at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.Pipeline.process(Pipeline.java:117)
|   at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
|   at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
|   at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:122)
|   at org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
|   at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:61)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:120)
|   at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:292)
|   at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:115)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
|   at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
|   at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:330)
|   at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)
|   at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
|   at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.Pipeline.process(Pipeline.java:117)
|   at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
|   at org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:81)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
|   at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
|   at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:330)
|   at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)
|   at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
|   at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.Pipeline.process(Pipeline.java:117)
|   at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
|   at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
|   at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:122)
|   at org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
|   at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
|   at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:61)
|   at org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)
|   at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)
|   at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)
|   at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86)
|   at org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:63)
|   at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:360)
|   at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:331)
|   at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:227)
|   at org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:331)
|   at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:186)
|   at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:115)
|   at org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:119)
|   ... 59 more
|Caused by: 4: java.io.IOException: Pipe closed
|   at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:500)
|   at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:454)
|   at org.apache.camel.component.file.remote.SftpOperations.doStoreFile(SftpOperations.java:701)
|   ... 180 more
|Caused by: java.io.IOException: Pipe closed
|   at java.io.PipedInputStream.read(PipedInputStream.java:291)
|   at com.jcraft.jsch.Channel$MyPipedInputStream.updateReadSide(Channel.java:344)
|   at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:466)

1 个答案:

答案 0 :(得分:0)

由于您提到您有时可以成功执行操作,因此可能不存在权限问题。不确定它是否可能是存储空间问题等。

我建议最好的方法是尝试通过您正在使用的版本的源代码进行调试。您将在org.apache.camel.component.file.remote.FtpOperations Java类中发现异常,并且IOException将被包含在那里。

然而,话虽如此 - 您也可以考虑使用全局错误处理程序。这篇文章解释了如何:http://java.dzone.com/articles/camel-exception-handling。它可以帮助理解究竟出了什么问题。

相关问题