我是靠谱客的博主 拼搏画板,最近开发中收集的这篇文章主要介绍java sftp连接池_jsch连接sftp后连接未释放掉问题排查,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

项目中通过jsch中的sftp实现上传下载文件。在压测过程中,由于调用到sftp,下载文件不存在时,系统不断抛出异常,内存飙升,逐渐把swap区也占满,通过top监控未发现占用内存的进程,通过查找sshd进程,发现服务器多了很多sftp的进程没有被关闭。

859965e7531e4e4ecb94e1f726090c8d.png

刚开始以为是sftp公共方法设计的有问题,每次创建连接都未释放,下面是部分代码片段

@Repository("SftpClient")public classSftpClient {private Logger logger = LoggerFactory.getLogger(SftpClient.class);private ThreadLocal sessionLocal = new ThreadLocal();private ThreadLocal channelLocal = new ThreadLocal();//初始化连接

publicSftpClient init() {try{

String host=SFTP_HOST;int port =Integer.valueOf(SFTP_PORT);

String userName=SFTP_USER_NAME;

String password=SFTP_USER_PASSWORD;

Integer timeout=Integer.valueOf(SFTP_TIMEOUT);

Integer a

最后

以上就是拼搏画板为你收集整理的java sftp连接池_jsch连接sftp后连接未释放掉问题排查的全部内容,希望文章能够帮你解决java sftp连接池_jsch连接sftp后连接未释放掉问题排查所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部