diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/ScpClientUtil.java b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/ScpClientUtil.java index 0348790a..7cb83aa1 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/ScpClientUtil.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/ScpClientUtil.java @@ -17,8 +17,10 @@ package me.zhengjie.modules.mnt.util; import ch.ethz.ssh2.Connection; import ch.ethz.ssh2.SCPClient; +import com.google.common.collect.Maps; import java.io.IOException; +import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; @@ -29,20 +31,20 @@ import java.util.logging.Logger; */ public class ScpClientUtil { - static private ScpClientUtil instance; + static private Map instance = Maps.newHashMap(); - static synchronized public ScpClientUtil getInstance(String ip, int port, String username, String passward) { - if (instance == null) { - instance = new ScpClientUtil(ip, port, username, passward); + static synchronized public ScpClientUtil getInstance(String ip, int port, String username, String password) { + if (instance.get(ip) == null) { + instance.put(ip, new ScpClientUtil(ip, port, username, password)); } - return instance; + return instance.get(ip); } - public ScpClientUtil(String ip, int port, String username, String passward) { + public ScpClientUtil(String ip, int port, String username, String password) { this.ip = ip; this.port = port; this.username = username; - this.password = passward; + this.password = password; } public void getFile(String remoteFile, String localTargetDirectory) {