org.jclouds.ssh.jsch
Class JschSshClient

java.lang.Object
  extended by org.jclouds.ssh.jsch.JschSshClient
All Implemented Interfaces:
SshClient

public class JschSshClient
extends Object
implements SshClient

This class needs refactoring. It is not thread safe.

Author:
Adrian Cole

Nested Class Summary
static interface JschSshClient.Connection<T>
           
 
Nested classes/interfaces inherited from interface org.jclouds.ssh.SshClient
SshClient.Factory
 
Field Summary
protected  Logger logger
           
 
Constructor Summary
JschSshClient(BackoffLimitedRetryHandler backoffLimitedRetryHandler, IPSocket socket, int timeout, String username, String password, byte[] privateKey)
           
 
Method Summary
protected
<T,C extends JschSshClient.Connection<T>>
T
acquire(C connection)
           
 void connect()
           
 void disconnect()
           
 ExecResponse exec(String command)
           
protected  JschSshClient.Connection<com.jcraft.jsch.ChannelExec> execConnection(String command)
           
 Payload get(String path)
           
 String getHostAddress()
           
 String getUsername()
           
 void put(String path, Payload contents)
           
 void put(String path, String contents)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

logger

@Named(value="jclouds.ssh")
protected Logger logger
Constructor Detail

JschSshClient

public JschSshClient(BackoffLimitedRetryHandler backoffLimitedRetryHandler,
                     IPSocket socket,
                     int timeout,
                     String username,
                     String password,
                     byte[] privateKey)
Method Detail

put

public void put(String path,
                String contents)
Specified by:
put in interface SshClient

acquire

protected <T,C extends JschSshClient.Connection<T>> T acquire(C connection)

connect

@PostConstruct
public void connect()
Specified by:
connect in interface SshClient

get

public Payload get(String path)
Specified by:
get in interface SshClient

put

public void put(String path,
                Payload contents)
Specified by:
put in interface SshClient

toString

public String toString()
Overrides:
toString in class Object

disconnect

@PreDestroy
public void disconnect()
Specified by:
disconnect in interface SshClient

execConnection

protected JschSshClient.Connection<com.jcraft.jsch.ChannelExec> execConnection(String command)

exec

public ExecResponse exec(String command)
Specified by:
exec in interface SshClient

getHostAddress

public String getHostAddress()
Specified by:
getHostAddress in interface SshClient

getUsername

public String getUsername()
Specified by:
getUsername in interface SshClient


Copyright © 2009-2011 jclouds. All Rights Reserved.