广告位联系
返回顶部
分享到

java sftp下载文件报错Caused by:com.jcraft.jsch.JSchException:sessi

java 来源:互联网 作者:佚名 发布时间:2024-11-30 22:54:46 人浏览
摘要

java sftp下载文件报错Caused by:com.jcraft.jsch.JSchException:session is down 最近线上有一个下载文件的报错 Caused by: com.jcraft.jsch.JSchException: session is down 业务场景是我们使用jsch连接到三方提供的一个sftp服

java sftp下载文件报错Caused by:com.jcraft.jsch.JSchException:session is down

最近线上有一个下载文件的报错

Caused by: com.jcraft.jsch.JSchException: session is down

业务场景是我们使用jsch连接到三方提供的一个sftp服务器,每日定时下载所需的文件。

1

2

3

4

5

<dependency>

    <groupId>com.jcraft</groupId>

    <artifactId>jsch</artifactId>

    <version>0.1.51</version>

 </dependency>

最近线上突然报了Caused by: com.jcraft.jsch.JSchException: session is down错误,导致文件都没有下载下来,这块因为是老业务很长时间都没动过,跟三方确认,他们也没有做过任何改动。

然后三方查询反馈,我们跟他们文件服务器的已建立的连接有很多,有500多个连接(产生了连接泄露)

1

netstat -ant|grep 三方ip | awk '/^tcp/ {++S[$NF]} END {for(a in S) print (a,S[a])}'

通过我分析我们判断,是已建立的连接数达到了最大值,后续再创建的连接都报错,无法连接。

紧急解决方案

我们通过重启服务,联接断开后,再重试业务,正常联接,文件也正常下载到。

事后我们,通过代码分析,确实有一些问题,在业务处理过程中,没有正常关闭连接。

导致随着时间推移,连接越来越多,最终达到上限,而不能正常连接。

这里给出一些使用建议

1.创建的连接,使用后应该立即关闭,要在finally代码块进行关闭连接

2.真正在使用阶段再创建连接,不要过早的创建,避免创建后因为不使用,又忘记关闭连接(我们线上就是这种情况)


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计