您是否应该为Web应用程序的每次上传使用单独的SSH会话

时间:2012-03-29 09:48:58

标签: java session ssh jsch

在网络应用中,它经常需要通过SSH(通过SFTP protovol)将文件上传到具有静态内容的远程主机。 问题是:在这种情况下使用SSH连接的最佳做法是什么? 我是否需要每次创建会话(连接),用户上传图片或文件?

目前,我在上下文中用类型为com.jcraft.jsch.Session的单例bean解决了它。在web-app启动时,创建一个会话bean并进行连接。因此,当来到请求上传文件时,会话已准备就绪。但是在网络问题的情况下,会话将被销毁,服务器需要重新连接。怎么做?

1 个答案:

答案 0 :(得分:1)

如果每次上传的重新连接对您来说太贵了,您应该实现SSH连接池。我不知道SSH协议存在这样的池。您可以调整HTTP连接池中的想法 - 请参阅apache HttpClient中的ThreadSafeClientConnManager