]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/jsch/JschContextSession.java
Improve SSH
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.simple / src / main / java / org / argeo / slc / jsch / JschContextSession.java
index b127afbc704d6a0d191f0fbbafb53663c12978c5..5cfc2cde0221afc7f57fc71b191ac1fa2638acbb 100644 (file)
@@ -2,6 +2,7 @@ package org.argeo.slc.jsch;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.springframework.beans.factory.BeanNameAware;
 import org.springframework.beans.factory.DisposableBean;
 import org.springframework.beans.factory.InitializingBean;
 
@@ -9,23 +10,32 @@ import com.jcraft.jsch.Session;
 
 /** Caches a JSCH session in the the ssh target. */
 public class JschContextSession extends AbstractJschTask implements
-               InitializingBean, DisposableBean {
+               InitializingBean, DisposableBean, BeanNameAware {
        private final static Log log = LogFactory.getLog(JschContextSession.class);
        private Boolean autoconnect = false;
 
+       private String beanName;
+
        @Override
        void run(Session session) {
-               clear();
+               // clear();
                getSshTarget().setSession(session);
                if (log.isDebugEnabled())
                        log.debug("Cached SSH context session to " + getSshTarget());
        }
 
        public void afterPropertiesSet() throws Exception {
+               if (log.isDebugEnabled())
+                       log.debug(getClass() + ".afterPropertiesSet(), " + beanName + ", "
+                                       + this);
                if (autoconnect)
                        run();
        }
 
+       public void setBeanName(String name) {
+               this.beanName = name;
+       }
+
        public void destroy() throws Exception {
                clear();
        }