我们每分钟向几台服务器发送数百个文件。
目前我们正在生成shell脚本(作为java文件),它只包含sftp命令并将它们作为shell脚本执行。我们使用java的原因是基于目标路径和目标服务器来组织文件。最后,对于每个目标服务器,我们将有一个shell脚本。
现在我想如果我通过java代码本身发送文件而不是生成脚本并执行它会更高效和快速
目前,为4台服务器生成脚本需要4到5秒。因此,实际sftp的执行从第5秒开始并且非常快地完成(基于文件计数)。如果我像JSch那样切换到java sftp它会像shell脚本中的sftp一样快还是更慢?
答案 0 :(得分:1)
这取决于你想要达到的目标。如果维护该解决方案也是一个因素,我建议使用带有ftp组件https://github.com/apache/camel/tree/master/examples/camel-example-ftp的apache-camel。为您提供控制和灵活性。没有shell脚本生成。最重要的是,你可以在它周围编写一个应用程序(如果需要),或者使它成为现有应用程序的一部分。