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;
/** 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();
+ try {
+ run();
+ } catch (Exception e) {
+ log.error("Could not automatically open session", e);
+ }
+ }
+
+ public void setBeanName(String name) {
+ this.beanName = name;
}
public void destroy() throws Exception {