JSch d'expiration de la session de limite

Je suis en utilisant JSch 0.1.50 pour configurer une connexion au serveur distant pour ma CI plugin Jenkins. Supposons que je suis en train d'utiliser ici session.connect(60000); pour le délai d'attente de 60 secondes:

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

Mais en fait, au cours de l'exécution de ce code lors de la connexion assez lente sever je suis face à un timeout Exception dans environ 20 secondes à chaque fois:

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 msec

Personne ne sait quelle est la raison de ce 20 secondes?

Le problème était dans la configuration de l'IP à partir du serveur. Le serveur avait adresse ip DMZ, qui a été configuré avec délai d'attente de connexion.

OriginalL'auteur Khmelevskikh Alex | 2016-01-26