在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();

}

}

回答:

为此,我希望使用commons-pool。;)

以上是 在JSCH中使用连接池 的全部内容, 来源链接: utcz.com/qa/431824.html

回到顶部