在使用工厂模式配置多实例的SFTP配置信息时,你可以创建一个工厂类来负责创建具体的SFTP连接器实例,并在实例化时传递相应的配置信息。以下是一个简单的示例:
首先,定义一个抽象的SFTP连接器接口:
java
Copy code
public interface SftpConnector {
void connect();
}
然后,创建一个具体的SFTP连接器实现类,该类实现了抽象接口:
java Copy code
public class ConcreteSftpConnector implements SftpConnector {
private String host;
private int port;
private String username;
private String password;
private int timeout;
public ConcreteSftpConnector(String host, int port, String username, String password, int timeout) {
this.host = host;
this.port = port;
this.username = username;
this.password = password;
this.timeout = timeout;
}
@Override
public void connect() {
// 进行连接逻辑...
System.out.println("Connected to SFTP server: " + host + ":" + port);
}
}
接下来,创建一个SFTP连接器工厂类,用于根据不同的配置信息创建具体的SFTP连接器实例:
java
Copy code
public class SftpConnectorFactory {
public static SftpConnector createConnector(String host, int port, String username, String password, int timeout) {
return new ConcreteSftpConnector(host, port, username, password, timeout);
}
}
最后,你可以使用工厂类来创建具体的SFTP连接器实例,并进行连接操作:
java
Copy code
public class Main {
public static void main(String[] args) {
// 创建第一个SFTP连接器实例
SftpConnector connector1 = SftpConnectorFactory.createConnector("example.com", 22, "user1", "password1", 3000);
connector1.connect();
// 创建第二个SFTP连接器实例
SftpConnector connector2 = SftpConnectorFactory.createConnector("test.com", 2222, "user2", "password2", 5000);
connector2.connect();
}
}
通过工厂模式,你可以根据不同的配置信息创建多个SFTP连接器实例,并灵活地使用它们。