Package org.eclipse.jgit.transport.sshd
Class SshdSession
- java.lang.Object
-
- org.eclipse.jgit.transport.sshd.SshdSession
-
- All Implemented Interfaces:
RemoteSession
,RemoteSession2
public class SshdSession extends Object implements RemoteSession2
An implementation ofRemoteSession
based on Apache MINA sshd.- Since:
- 5.2
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addCloseListener(SessionCloseListener listener)
Adds aSessionCloseListener
to this session.void
disconnect()
Disconnects the remote session.Process
exec(String commandName, int timeout)
Creates a new remoteProcess
to execute the given command.Process
exec(String commandName, Map<String,String> environment, int timeout)
Creates a new remoteProcess
to execute the given command.FtpChannel
getFtpChannel()
Obtain anFtpChannel
to perform SFTP operations in thisSshdSession
.void
removeCloseListener(SessionCloseListener listener)
Removes the givenlistener
; has no effect if the listener is not currently registered with this session.
-
-
-
Method Detail
-
addCloseListener
public void addCloseListener(@NonNull SessionCloseListener listener)
Adds aSessionCloseListener
to this session. Has no effect if the givenlistener
is already registered with this session.- Parameters:
listener
- to add
-
removeCloseListener
public void removeCloseListener(@NonNull SessionCloseListener listener)
Removes the givenlistener
; has no effect if the listener is not currently registered with this session.- Parameters:
listener
- to remove
-
exec
public Process exec(String commandName, int timeout) throws IOException
Description copied from interface:RemoteSession
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:
commandName
- 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 commandName, Map<String,String> environment, int timeout) throws IOException
Description copied from interface:RemoteSession2
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:
commandName
- 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).
-
getFtpChannel
@NonNull public FtpChannel getFtpChannel()
Obtain anFtpChannel
to perform SFTP operations in thisSshdSession
.- Specified by:
getFtpChannel
in interfaceRemoteSession
- Returns:
- the
FtpChannel
-
disconnect
public void disconnect()
Description copied from interface:RemoteSession
Disconnects the remote session.- Specified by:
disconnect
in interfaceRemoteSession
-
-