java - 您是否应该为网络应用程序的每次上传使用单独的 SSH session

标签 java session ssh jsch

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

目前,我用上下文中类型为 com.jcraft.jsch.Session 的单例 bean 解决了这个问题。在 web 应用程序启动时,创建一个 session bean 并进行连接。因此,当请求上传文件时, session 已准备就绪。但如果网络出现问题, session 将被破坏,服务器需要重新连接。怎么做?

最佳答案

如果每次上传重新连接对您来说成本太高,您应该实现 SSH 连接池。我不知道 SSH 协议(protocol)存在这样的池。您可以采用 HTTP 连接池的想法 - 请参阅 ThreadSafeClientConnManager来自 apache HttpClient。

关于java - 您是否应该为网络应用程序的每次上传使用单独的 SSH session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9922935/

相关文章:

java - JAVA中将Integer类型的Linked List转换为String类型的Set

java - 即使我所有的 XML 文件都没有错误,也不会生成 R.java

javascript - 新的 session cookie 直到下一个服务器请求才提供

c# - 如何删除 ASP.NET 网站上的 cookie

java - Java 的 SSH 和 Telnet 库

java - 从 Java 调用的 Perl 脚本没有输出

ssh - 如何在 Google Compute Engine 上创建的两个实例之间进行 ssh?

java - 将 postgresql 数据库添加到 travis

java - 是否有支持 SQL 语法的 Swing 组件?

node.js - Socket.io 不与 express 共享 session