我正在通过SFTP获取大文件并尝试使用readLocks。尝试获取1G文件(一个大文件需要花费几秒钟的复制时间)时,出现以下异常。顺便说一句,当我尝试使用大约1M的小文件时,SFTP可以正常工作。
这是Camel 2.12.1中的错误,还是我做错了什么?
2013-12-13 14:30:12,964 [alhost/outbound] INFO SftpConsumer - Connected and logged in to: sftp://tdr@localhost:22
2013-12-13 14:30:19,893 [alhost/outbound] WARN SftpConsumer - Error processing file RemoteFile[Centos5.7-64-Base-GS-Image-UI.ova] due to Cannot change directory to: ... Caused by: [org.apache.camel.component.file.GenericFileOperationFailedException - Cannot change directory to: ..]
org.apache.camel.component.file.GenericFileOperationFailedException: Cannot change directory to: ..
at org.apache.camel.component.file.remote.SftpOperations.doChangeDirectory(SftpOperations.java:542)
at org.apache.camel.component.file.remote.SftpOperations.changeCurrentDirectory(SftpOperations.java:530)
at org.apache.camel.component.file.remote.SftpOperations.retrieveFileToStreamInBody(SftpOperations.java:656)
at org.apache.camel.component.file.remote.SftpOperations.retrieveFile(SftpOperations.java:594)
at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:362)
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:441)
Run Code Online (Sandbox Code Playgroud)
我的路线如下所示:
from("sftp://tdr@localhost/outbound?password=xxx&delete=true&readLock=changed&delay=10000&readLockCheckInterval=3000")
.to("file:///home/cps/camel/input?flatten=true");
Run Code Online (Sandbox Code Playgroud)