org.eclipse.jgit.transport
Class JschSession

java.lang.Object
  extended by org.eclipse.jgit.transport.JschSession
All Implemented Interfaces:
RemoteSession

public class JschSession
extends Object
implements RemoteSession

Run remote commands using Jsch.

This class is the default session implementation using Jsch. Note that JschConfigSessionFactory is used to create the actual session passed to the constructor.


Constructor Summary
JschSession(com.jcraft.jsch.Session session, URIish uri)
          Create a new session object by passing the real Jsch session and the URI information.
 
Method Summary
 void disconnect()
          Disconnect the remote session
 Process exec(String command, int timeout)
          Generate a new remote process to execute the given command.
 com.jcraft.jsch.Channel getSftpChannel()
          A kludge to allow TransportSftp to get an Sftp channel from Jsch.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JschSession

public JschSession(com.jcraft.jsch.Session session,
                   URIish uri)
Create a new session object by passing the real Jsch session and the URI information.

Parameters:
session - the real Jsch session created elsewhere.
uri - the URI information for the remote connection
Method Detail

exec

public Process exec(String command,
                    int timeout)
             throws IOException
Description copied from interface: RemoteSession
Generate a new remote process to execute the given command. This function should also start execution and may need to create the streams prior to execution.

Specified by:
exec in interface RemoteSession
Parameters:
command - command to execute
timeout - timeout value, in seconds, for command execution
Returns:
a new remote process
Throws:
IOException - may be thrown in several cases. For example, on problems opening input or output streams or on problems connecting or communicating with the remote host. For the latter two cases, a TransportException may be thrown (a subclass of IOException).

disconnect

public void disconnect()
Description copied from interface: RemoteSession
Disconnect the remote session

Specified by:
disconnect in interface RemoteSession

getSftpChannel

public com.jcraft.jsch.Channel getSftpChannel()
                                       throws com.jcraft.jsch.JSchException
A kludge to allow TransportSftp to get an Sftp channel from Jsch. Ideally, this method would be generic, which would require implementing generic Sftp channel operations in the RemoteSession class.

Returns:
a channel suitable for Sftp operations.
Throws:
com.jcraft.jsch.JSchException - on problems getting the channel.


Copyright © 2012. All Rights Reserved.