Class JschSession
- java.lang.Object
-
- org.eclipse.jgit.transport.ssh.jsch.JschSession
-
- All Implemented Interfaces:
RemoteSession
,RemoteSession2
public class JschSession extends Object implements RemoteSession2
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.- Since:
- 6.0
-
-
Constructor Summary
Constructors Constructor Description 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
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
disconnect()
Disconnects the remote session.Process
exec(String command, int timeout)
Creates a new remoteProcess
to execute the given command.Process
exec(String command, Map<String,String> environment, int timeout)
Creates a new remoteProcess
to execute the given command.FtpChannel
getFtpChannel()
Obtains anFtpChannel
for performing FTP operations over thisRemoteSession
.com.jcraft.jsch.Channel
getSftpChannel()
Deprecated.since 5.2; usegetFtpChannel()
instead
-
-
-
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
Creates a new remoteProcess
to execute the given command. The returned process's streams exist and are connected, and execution of the process is already started.- Specified by:
exec
in interfaceRemoteSession
- Parameters:
command
- command to executetimeout
- timeout value, in seconds, for creating the remote process- Returns:
- a new remote process, already started
- 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 java.io.IOException).
-
exec
public Process exec(String command, Map<String,String> environment, int timeout) throws IOException
Creates a new remoteProcess
to execute the given command. The returned process's streams exist and are connected, and execution of the process is already started.- Specified by:
exec
in interfaceRemoteSession2
- Parameters:
command
- command to executeenvironment
- environment variables to pass ontimeout
- timeout value, in seconds, for creating the remote process- Returns:
- a new remote process, already started
- 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 java.io.IOException).
-
disconnect
public void disconnect()
Disconnects the remote session.- Specified by:
disconnect
in interfaceRemoteSession
-
getSftpChannel
@Deprecated public com.jcraft.jsch.Channel getSftpChannel() throws com.jcraft.jsch.JSchException
Deprecated.since 5.2; usegetFtpChannel()
insteadA kludge to allowTransportSftp
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.
-
getFtpChannel
public FtpChannel getFtpChannel()
Obtains anFtpChannel
for performing FTP operations over thisRemoteSession
. The default implementation returnsnull
.- Specified by:
getFtpChannel
in interfaceRemoteSession
- Returns:
- the
FtpChannel
- Since:
- 5.2
-
-