相关疑难解决方法(0)

JSch会话超时限制

我正在使用JSch 0.1.50为我的CI Jenkins插件建立与远程服务器的连接.让我们假设我在这里使用session.connect(60000);超时60秒:

Session session = null;
try {
    JSch jsch = new JSch();
    if (rsaIdentity != null && !rsaIdentity.equals("")) {
        jsch.addIdentity(rsaIdentity.trim());
    }
    session = jsch.getSession(serverLogin, serverHost, Integer.parseInt(serverPort));
    session.setPassword(getDescriptor().getOpenPassword(encryptedPasswordString));
    session.setConfig("StrictHostKeyChecking", "no"); // not use RSA key

    int timeOut = Integer.parseInt(getDescriptor().getConnectionTimeOut());

    session.connect(60000);

} catch (SocketTimeoutException e) {
    logger.error(e.getMessage());
    return false;
} catch (JSchException e) {
    logger.error(e.getMessage());
    return false;
}
Run Code Online (Sandbox Code Playgroud)

但实际上在连接到相当慢的服务器期间执行此代码期间,我Exception每次都会在大约20秒内面临超时:

2016-01-25 13:15:55.982 [INFO] Connecting to server: devsrv26:22 as [user] ...
2016-01-25 13:16:16.991 [ERROR] java.net.ConnectException: Connection timed out: …
Run Code Online (Sandbox Code Playgroud)

java session timeout jsch jenkins

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×1

jenkins ×1

jsch ×1

session ×1

timeout ×1