我正在重构一个使用apache commons net FTP库来促进FTP的Java EE应用程序 两台服务器之间的转移该代码几乎与在Web上作为示例发布的代码相同 页面,http://commons.apache.org/proper/commons-net/examples/ftp/ServerToServerFTP.java。 正在传输的文件有时超过60 GB,即使超时设置得很高, 最大的转移是通过局域网,我仍然看到一些例外。
我一直在试图弄清楚如何在FTP中实现REST功能,即恢复传输。该 服务器支持它,所以它只需要使用commons来实现。 到目前为止,我已经收集到了我需要使用getRestartOffset和setRestartOffset。 我无法在网上找到任何资源或示例如何实现这一点 服务器到服务器的转移,并想知道是否有人有任何指针或示例?
编辑: 的 解决方案 使用user270349建议的解决方案,我能够实现所需的功能,尽管使用REST命令是不可能的。我获取了从目标写入的字节数,在目标和源上设置了偏移量,然后使用库提供的 remoteAppend(String filename)方法而不是 remoteStore(String filename) 在上面链接的示例中使用。
答案 0 :(得分:0)
服务器 - >客户端下载恢复和服务器 - >服务器传输恢复之间的唯一区别是如何获得restarOffset。您需要列出目标目录中的文件(在您的情况下为远程),并使用部分文件大小作为下一次尝试的偏移量。