我可以配置JSch在连接失败时自动重新连接吗?
问题描述:
我正在使用用于SFTP连接的Java的JSch API。有时服务器可能会关闭一秒钟,或者连接可能很忙。在这些情况下,我需要重新连接到服务器三次,至少在我决定连接失败之前。我可以配置JSch在连接失败时自动重新连接吗?
是否JSch提供任何配置选项来自动执行此操作?
答
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;
}
}
执行此块后,连接会话或引发JSchException。