我可以将 JSch 配置为在连接失败时自动重新连接吗?

Ven*_*esh 2 java sftp jsch

我正在使用Java的JSch API 进行 SFTP 连接。有时服务器可能会关闭一秒钟或连接可能很忙。在这些情况下,在我确定连接失败之前,我至少需要重新连接到服务器 3 次。

JSch 是否提供任何配置选项来自动执行此操作?

Paŭ*_*ann 5

JSch 没有这样的配置选项,但您可以简单地自己完成。

Session s = new Session(...);
for(int i = 0; i < MAX_TRIES; i++) {
    try {
       s.connect();
       break;
    }
    catch(JSchException ex) {
       if(i == MAX_TRIES - 1)
           throw ex;
       continue;
    }
}
Run Code Online (Sandbox Code Playgroud)

执行此块后,会话已连接或抛出 JSchException。