0

我有这样的 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/folder 内的子文件夹中。但是,当我尝试将其移动到不同的文件夹位置时。我遇到了一个例外。不幸的是,这个例外没有详细说明。

RemoteFile[/path/to/folder/fileName.zip] to: RemoteFile[/home/username/processed/2017/07/11/fileName.zip] DEBUG org.apache.camel.component.file.remote.FtpOperations - 重命名文件:/path/to/folder/fileName.zip 到:/home/username/processed/2017/07/11/fileName.zip 警告 org.apache.camel.component.file.GenericFileOnCompletion - 提交期间出错。交换[文件名.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。

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

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

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

4

1 回答 1

0

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

于 2017-07-14T20:08:50.847 回答