org.apache.ivy.plugins.repository.ssh

Class SshCache

public final class SshCache extends Object

a class to cache SSH Connections and Channel for the SSH Repository each session is defined by connecting user / host / port two maps are used to find cache entries one map is using the above keys, the other uses the session itself
Method Summary
voidattachChannelSftp(Session session, ChannelSftp channel)
attaches a channelSftp to an existing session cache entry
voidclearSession(Session session)
discardes session entries from the cache
ChannelSftpgetChannelSftp(Session session)
retrieves an sftp channel from the cache
static SshCachegetInstance()
SessiongetSession(String host, int port, String username, String userPassword, File pemFile, String pemPassword, File passFile)
Gets a session from the cache or establishes a new session if necessary

Method Detail

attachChannelSftp

public void attachChannelSftp(Session session, ChannelSftp channel)
attaches a channelSftp to an existing session cache entry

Parameters: session to attach the channel to channel channel to attach

clearSession

public void clearSession(Session session)
discardes session entries from the cache

Parameters: session to clear

getChannelSftp

public ChannelSftp getChannelSftp(Session session)
retrieves an sftp channel from the cache

Parameters: session to connect to

Returns: channelSftp or null if not successful (channel not existent or dead)

getInstance

public static SshCache getInstance()

getSession

public Session getSession(String host, int port, String username, String userPassword, File pemFile, String pemPassword, File passFile)
Gets a session from the cache or establishes a new session if necessary

Parameters: host to connect to port to use for session (-1 == use standard port) username for the session to use userPassword to use for authentication (optional) pemFile File to use for public key authentication pemPassword to use for accessing the pemFile (optional) passFile to store credentials

Returns: session or null if not successful