JSchSession:最好为每个请求创建一个新实例,或者将其保存在HttpSession中



我有一个Java web项目,它使用com.jcraf.jsch.执行远程ssh命令

一个模块向远程服务器执行脚本,并将输出写入该服务器中的日志文件。这个过程需要很长时间才能完成。为了让用户了解脚本执行的进度,我创建了一个模块,该模块连接到远程服务器,读取日志文件,并每隔10秒使用ajax调用将其显示在网页上。

哪个更好:

  1. 创建一个JSch会话并将其保存到HttpSession,并在每次ajax请求时重用它
  2. 在每个后续请求中创建一个新的JSch会话,并在使用后关闭它

首先,您需要测试连接到远程linux的时间JSch会话成本服务器如果你认为它会影响性能,那么你可以选择将其保存在HttpSession中。或者,如果所有用户都请求相同的linux服务器。您可以保存应用程序范围中的服务器会话,而不是Http会话范围。从我的角度来看,由于ajax调用每10秒一次,所以它非常频繁。所以,保存会话可能是一个正确的选择。您可以创建类似会话池的东西,它可以根据会话的超时动态增加或减少大小。根据你的需要制定一个计划,并做更多的测试。

相关内容

最新更新