天天看點

java sftp連接配接池_java – 使用連接配接池和JSCH

我正在使用JSCH進行檔案上傳sftp.在目前狀态下,每個線程在需要時打開和關閉連接配接.

如果可以使用與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();

}

}