X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.support.simple%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fjsch%2FAbstractJschTask.java;h=43b158626ae06ec6c95aad3fe3fb155618e53b20;hb=155404c8fe688647c2b30be45302fae4620ce4d9;hp=508a033e3d99f71758ad856b328a33f2ff29bb5d;hpb=1fdb1b4e7b1d2b0cabb6483238301b857a6392fa;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/jsch/AbstractJschTask.java b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/jsch/AbstractJschTask.java index 508a033e3..43b158626 100644 --- a/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/jsch/AbstractJschTask.java +++ b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/jsch/AbstractJschTask.java @@ -53,6 +53,7 @@ public abstract class AbstractJschTask implements Runnable { getSshTarget().getHost(), getSshTarget().getPort()); session.setUserInfo(getSshTarget().getUserInfo()); + session.setServerAliveInterval(1000); session.connect(); if (log.isDebugEnabled()) log.debug("Connected to " + getSshTarget() + " via SSH"); @@ -64,17 +65,19 @@ public abstract class AbstractJschTask implements Runnable { } return session; } catch (JSchException e) { + if (sshTarget.getUserInfo() instanceof SimpleUserInfo) + ((SimpleUserInfo) sshTarget.getUserInfo()).reset(); throw new SlcException("Could not open session to " + getSshTarget(), e); } } - public final void run() { + public void run() { Session session = openSession(); try { run(session); } finally { - if (sshTarget.getSession() == null) { + if (sshTarget != null && sshTarget.getSession() == null) { session.disconnect(); if (log.isDebugEnabled()) log.debug("Disconnected from " + getSshTarget()