Apache camel GenericFileOperationFailedException:无法将目录更改为:…-尝试SFTP 1G文件时

Apache camel GenericFileOperationFailedException:无法将目录更改为:…-尝试SFTP 1G文件时,apache-camel,sftp,Apache Camel,Sftp,我正在尝试通过SFTP获取大文件,并尝试使用读锁。当尝试获取1G文件(复制一个大文件需要很多秒)时,我得到以下异常。顺便说一句,当我尝试一个1M大小的小文件时,SFTP工作正常 这是骆驼2.12.1中的错误还是我做错了什么 2013-12-13 14:30:12,964 [alhost/outbound] INFO SftpConsumer - Connected and logged in to: sftp://tdr@localhost:22 2013-

我正在尝试通过SFTP获取大文件,并尝试使用读锁。当尝试获取1G文件(复制一个大文件需要很多秒)时,我得到以下异常。顺便说一句,当我尝试一个1M大小的小文件时,SFTP工作正常

这是骆驼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)
我的路线如下所示:

from("sftp://tdr@localhost/outbound?password=xxx&delete=true&readLock=changed&delay=10000&readLockCheckInterval=3000")
        .to("file:///home/cps/camel/input?flatten=true");

在谷歌搜索之后,我发现了一个建议,添加
stepwise=false
,以防止出现上述异常

设置
stepwise=false
后,我得到了一个
OutOfMemory异常
,并添加了
streamDownload=true

下面的路径现在将sftp我的大文件,我已经证明读锁是有效的,因为我验证了在将大文件复制到sftp目录时sftp没有开始

from("sftp://tdr@localhost/outbound?" +
        "streamDownload=true" +
        "&stepwise=false" +
        "&password=xxx&delete=true&readLock=changed&delay=5000&readLockCheckInterval=2000")
        .to("file:///home/cps/camel/input?" +
                "flatten=true");