org.apache.ivy.plugins.repository.ssh
Class SshCache

java.lang.Object
  extended by org.apache.ivy.plugins.repository.ssh.SshCache

public final class SshCache
extends java.lang.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
 void attachChannelSftp(Session session, ChannelSftp channel)
          attaches a channelSftp to an existing session cache entry
 void clearSession(Session session)
          discardes session entries from the cache
 ChannelSftp getChannelSftp(Session session)
          retrieves an sftp channel from the cache
static SshCache getInstance()
           
 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)
          Gets a session from the cache or establishes a new session if necessary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static SshCache getInstance()

clearSession

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

Parameters:
session - to clear

getChannelSftp

public ChannelSftp getChannelSftp(Session session)
                           throws java.io.IOException
retrieves 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

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

getSession

public 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)
                   throws java.io.IOException
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
Throws:
java.io.IOException