2013-02-06 127 views
1

我正在使用camel-ftp組件將文件上傳到服務器。我隨機得到下面的異常,並且ftp突然停止,可能是什麼問題。欣賞任何指針。 我使用的駱駝版本是2.10.1camel-ftp間歇性問題

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

回答

0

既然你提到你已經能夠做到操作成功的時候,權限問題可能不存在。不知道它是否可能是存儲空間問題等。

我建議最好的方法是嘗試通過您使用的版本的源代碼進行調試。你會發現拋出的異常拋出了org.apache.camel.component.file.remote.FtpOperations Java類,並且IOException被包裝在那裏。

但是,話雖如此 - 你也可能看看有一個全局錯誤處理程序。這裏有一篇文章解釋瞭如何:http://java.dzone.com/articles/camel-exception-handling。它可以幫助理解究竟發生了什麼問題。