使用Camel FTP

时间:2017-07-11 15:51:11

标签: file-rename ftp-client camel-ftp

我有像这样的FTP的轮询路线

from("sftp://sftpUsername@ftpServer/path/to/folder?password=sftpPassword    
 &delay=60000&stepwise=false&move=/home/username/processed/$simple{date:now:yyyy}
 /$simple{date:now:MM}/$simple{date:now:dd}/${file:name}&binary=true")
.to("file:///tmp/")

民意调查按预期进行。我能够将处理过的文件移动到/ path / to /文件夹中的子文件夹。但是,当我尝试将其移动到不同的文件夹位置时。我得到了一个例外。不幸的是,例外情况并不详细。

  

DEBUG org.apache.camel.component.file.GenericFileOnCompletion - 完成处理文件:RemoteFile [/path/to/folder/fileName.zip]使用exchange:Exchange [fileName.zip]    DEBUG org.apache.camel.component.file.remote.FtpOperations - 删除文件:/home/username/processed/2017/07/11/fileName.zip    TRACE org.apache.camel.component.file.remote.FtpOperations - 客户端deleteFile:/home/username/processed/2017/07/11/fileName.zip    TRACE org.apache.camel.component.file.remote.FtpOperations - buildDirectory(/ home / username / processed / 2017/07/11)    TRACE org.apache.camel.component.file.remote.FtpOperations - changeCurrentDirectory(/ home / username)    TRACE org.apache.camel.component.file.remote.FtpOperations - 更改目录:/ home / username    DEBUG org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy - 将文件:RemoteFile [/path/to/folder/fileName.zip]重命名为:RemoteFile [/ home / username / processed / 2017/07/11 / fileName。压缩]    DEBUG org.apache.camel.component.file.remote.FtpOperations - 将文件重命名为:/path/to/folder/fileName.zip:/home/username/processed/2017/07/11/fileName.zip    WARN org.apache.camel.component.file.GenericFileOnCompletion - 提交期间出错。交换[fileName.zip。引起:[org.apache.camel.component.file.GenericFileOperationFailedException - 无法将文件:RemoteFile [/path/to/folder/fileName.zip]重命名为:RemoteFile [// home / username / processed / 2017/07/11 /fileName.zip]   org.apache.camel.component.file.GenericFileOperationFailedException:无法将文件:RemoteFile [/path/to/folder/fileName.zip]重命名为:RemoteFile [/home/username/processed/2017/07/11/fileName.zip]       在org.apache.camel.component.file.strategy.GenericFileProcessStrategySupport.renameFile(GenericFileProcessStrategySupport.java:115)

我使用的是使用commons.net-3.3.jar的Camel-FTP 2.13.4。我可以看到它正在尝试做RNFR和RNTO命令。我无法从命令行FTP协议使用这些命令。

如果我理解正确,我们可以在2.13.4版本中使用绝对路径。如果这种理解不正确,请告诉我。

提前感谢您在正确的方向上提供任何帮助。

1 个答案:

答案 0 :(得分:0)

这不起作用,因为分区不同,我们无法在分区之间移动文件。选项是将文件移动到同一分区中的某个位置。或者您可以手动将其FTP回到不同分区上的位置。