我正在使用JSCH進行sftp文件上傳。在當前狀態下,每個線程在需要時打開並關閉連接。與JSCH一起使用連接池
如果有可能使用連接池與JSCH,以避免大量的連接打開和關閉造成的開銷?
這裏是所謂的功能的示例線程
public static void file_upload(String filename) throws IOException {
JSch jsch = new JSch();
Session session = null;
try {
session = jsch.getSession("user", "server_name", 22);
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword("super_secre_password");
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftpChannel = (ChannelSftp) channel;
FileInputStream inputSrr = new FileInputStream(filename);
try {
sftpChannel.put(inputSrr, "/var/temp/"+filename);
} catch (SftpException e) {
e.printStackTrace();
} finally {
if (inputSrr != null) {
inputSrr.close();
}
}
sftpChannel.exit();
session.disconnect();
} catch (JSchException e) {
e.printStackTrace();
} catch (SftpException e) {
e.printStackTrace();
}
}
謝謝,我會給它看看 –
它對您有幫助嗎?我在問你,因爲stackoverflow建立在聲譽評分系統上。 – Mirko
我忙於其他項目,所以沒有時間去嘗試。我會盡快讓你知道。 –