Class SshCache
- java.lang.Object
-
- org.apache.ivy.plugins.repository.ssh.SshCache
-
public final class SshCache extends java.lang.Objecta 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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidattachChannelSftp(com.jcraft.jsch.Session session, com.jcraft.jsch.ChannelSftp channel)attaches a channelSftp to an existing session cache entryvoidclearSession(com.jcraft.jsch.Session session)discards session entries from the cachecom.jcraft.jsch.ChannelSftpgetChannelSftp(com.jcraft.jsch.Session session)retrieves an sftp channel from the cachestatic SshCachegetInstance()com.jcraft.jsch.SessiongetSession(java.lang.String host, int port, java.lang.String username, java.lang.String userPassword, java.io.File pemFile, java.lang.String pemPassword, java.io.File passFile, boolean allowedAgentUse)Gets a session from the cache or establishes a new session if necessary
-
-
-
Method Detail
-
getInstance
public static SshCache getInstance()
-
clearSession
public void clearSession(com.jcraft.jsch.Session session)
discards session entries from the cache- Parameters:
session- to clear
-
getChannelSftp
public com.jcraft.jsch.ChannelSftp getChannelSftp(com.jcraft.jsch.Session session) throws java.io.IOExceptionretrieves an sftp channel from the cache- Parameters:
session- to connect to- Returns:
- channelSftp or null if not successful (channel not existent or dead)
- Throws:
java.io.IOException- should never happen
-
attachChannelSftp
public void attachChannelSftp(com.jcraft.jsch.Session session, com.jcraft.jsch.ChannelSftp channel)attaches a channelSftp to an existing session cache entry- Parameters:
session- to attach the channel tochannel- channel to attach
-
getSession
public com.jcraft.jsch.Session getSession(java.lang.String host, int port, java.lang.String username, java.lang.String userPassword, java.io.File pemFile, java.lang.String pemPassword, java.io.File passFile, boolean allowedAgentUse) throws java.io.IOExceptionGets a session from the cache or establishes a new session if necessary- Parameters:
host- to connect toport- to use for session (-1 == use standard port)username- for the session to useuserPassword- to use for authentication (optional)pemFile- File to use for public key authenticationpemPassword- to use for accessing the pemFile (optional)passFile- to store credentialsallowedAgentUse- Whether to communicate with an agent for authentication- Returns:
- session or null if not successful
- Throws:
java.io.IOException- if something goes wrong
-
-