eitlimit für @JSch-Sitzung

Ich verwende JSch 0.1.50, um eine Verbindung zum Remote-Server für mein CI-Jenkins-Plugin herzustellen. Nehmen wir an, ich versuche, hier zu verwendensession.connect(60000); für das Timeout 60 Sek .:

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;
}

Aber in der Tat während der Ausführung dieses Codes während der Verbindung zu ziemlich langsamen Server stehe ich vor dem TimeoutException jedes Mal in ungefähr 20 Sekunden:

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: connect
2016-01-25 13:16:16.992 com.jcraft.jsch.JSchException: java.net.ConnectException: Connection timed out: connect
2016-01-25 13:16:16.992     at com.jcraft.jsch.Util.createSocket(Util.java:389)
2016-01-25 13:16:16.993     at com.jcraft.jsch.Session.connect(Session.java:215)
2016-01-25 13:16:16.993     at com.mycomp.jenkins.MyPlugin.perform(MyPlugin.java:225)

76991-55982 = 21008 ms

Weiß jemand, was der Grund für diese Zeitüberschreitung von 20 Sekunden ist?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage