欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java sftp下載文件報(bào)錯(cuò)Caused by:com.jcraft.jsch.JSchException:session is down問(wèn)題

 更新時(shí)間:2024年11月29日 15:27:47   作者:kevin_mails  
文章講述了作者在日常工作中遇到的JSch連接問(wèn)題,經(jīng)過(guò)分析發(fā)現(xiàn)是由于連接泄露導(dǎo)致的,作者提出了解決方案,并給出了使用建議:1.在finally代碼塊中關(guān)閉連接;2.在真正使用階段再創(chuàng)建連接,避免創(chuàng)建后不使用又忘記關(guān)閉連接

java sftp下載文件報(bào)錯(cuò)Caused by:com.jcraft.jsch.JSchException:session is down

最近線上有一個(gè)下載文件的報(bào)錯(cuò)

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

業(yè)務(wù)場(chǎng)景是我們使用jsch連接到三方提供的一個(gè)sftp服務(wù)器,每日定時(shí)下載所需的文件。

   <dependency>
       <groupId>com.jcraft</groupId>
       <artifactId>jsch</artifactId>
       <version>0.1.51</version>
    </dependency>

最近線上突然報(bào)了Caused by: com.jcraft.jsch.JSchException: session is down錯(cuò)誤,導(dǎo)致文件都沒(méi)有下載下來(lái),這塊因?yàn)槭抢蠘I(yè)務(wù)很長(zhǎng)時(shí)間都沒(méi)動(dòng)過(guò),跟三方確認(rèn),他們也沒(méi)有做過(guò)任何改動(dòng)。

然后三方查詢反饋,我們跟他們文件服務(wù)器的已建立的連接有很多,有500多個(gè)連接(產(chǎn)生了連接泄露)

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

通過(guò)我分析我們判斷,是已建立的連接數(shù)達(dá)到了最大值,后續(xù)再創(chuàng)建的連接都報(bào)錯(cuò),無(wú)法連接。

緊急解決方案

我們通過(guò)重啟服務(wù),聯(lián)接斷開后,再重試業(yè)務(wù),正常聯(lián)接,文件也正常下載到。

事后我們,通過(guò)代碼分析,確實(shí)有一些問(wèn)題,在業(yè)務(wù)處理過(guò)程中,沒(méi)有正常關(guān)閉連接。

導(dǎo)致隨著時(shí)間推移,連接越來(lái)越多,最終達(dá)到上限,而不能正常連接。

這里給出一些使用建議

1.創(chuàng)建的連接,使用后應(yīng)該立即關(guān)閉,要在finally代碼塊進(jìn)行關(guān)閉連接

2.真正在使用階段再創(chuàng)建連接,不要過(guò)早的創(chuàng)建,避免創(chuàng)建后因?yàn)椴皇褂?,又忘記關(guān)閉連接(我們線上就是這種情況)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java的三種隨機(jī)數(shù)生成方式

    java的三種隨機(jī)數(shù)生成方式

    主要介紹了java的三種隨機(jī)數(shù)生成方式的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下
    2021-07-07
  • springboot內(nèi)置的tomcat支持最大的并發(fā)量問(wèn)題

    springboot內(nèi)置的tomcat支持最大的并發(fā)量問(wèn)題

    這篇文章主要介紹了springboot內(nèi)置的tomcat支持最大的并發(fā)量問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Java String中的split方法使用總結(jié)

    Java String中的split方法使用總結(jié)

    這篇文章主要介紹了Java String中的split方法使用總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • SpringMVC中使用Thymeleaf模板引擎實(shí)例代碼

    SpringMVC中使用Thymeleaf模板引擎實(shí)例代碼

    這篇文章主要介紹了SpringMVC中使用Thymeleaf模板引擎實(shí)例代碼,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • Java并發(fā)之Condition案例詳解

    Java并發(fā)之Condition案例詳解

    這篇文章主要介紹了Java并發(fā)之Condition案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • SpringBoot配置ShedLock分布式定時(shí)任務(wù)

    SpringBoot配置ShedLock分布式定時(shí)任務(wù)

    ShedLock是一個(gè)在分布式環(huán)境中使用的定時(shí)任務(wù)框架,這篇文章主要介紹了SpringBoot配置ShedLock分布式定時(shí)任務(wù),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Java Stream中自定義Collector實(shí)現(xiàn)復(fù)雜數(shù)據(jù)收集的方法

    Java Stream中自定義Collector實(shí)現(xiàn)復(fù)雜數(shù)據(jù)收集的方法

    Java Stream API中的Collector接口是一個(gè)強(qiáng)大的工具,它允許我們自定義數(shù)據(jù)收集、轉(zhuǎn)換和聚合的過(guò)程,,本文介紹了Java Stream中自定義Collector實(shí)現(xiàn)復(fù)雜數(shù)據(jù)收集方法,需要的朋友可以參考下
    2024-08-08
  • 詳談Spring對(duì)IOC的理解(推薦篇)

    詳談Spring對(duì)IOC的理解(推薦篇)

    下面小編就為大家?guī)?lái)一篇詳談Spring對(duì)IOC的理解(推薦篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • 在SpringBoot項(xiàng)目中使用Spring Cloud Sentinel實(shí)現(xiàn)流量控制

    在SpringBoot項(xiàng)目中使用Spring Cloud Sentinel實(shí)現(xiàn)流量控制

    隨著微服務(wù)架構(gòu)的流行,服務(wù)之間的調(diào)用變得越來(lái)越頻繁和復(fù)雜,流量控制是保障系統(tǒng)穩(wěn)定性的重要手段之一,它可以幫助我們避免因過(guò)載而導(dǎo)致的服務(wù)不可用,本文將介紹如何在Spring Boot項(xiàng)目中使用Spring Cloud Sentinel來(lái)實(shí)現(xiàn)流量控制,需要的朋友可以參考下
    2024-08-08
  • java學(xué)習(xí)DongTai被動(dòng)型IAST工具部署過(guò)程

    java學(xué)習(xí)DongTai被動(dòng)型IAST工具部署過(guò)程

    被動(dòng)型IAST被認(rèn)為是DevSecOps測(cè)試階段實(shí)現(xiàn)自動(dòng)化安全測(cè)試的最佳工具,而就在前幾天,洞態(tài)IAST正式開源了,這對(duì)于甲方構(gòu)建安全工具鏈來(lái)說(shuō),絕對(duì)是一個(gè)大利好
    2021-10-10

最新評(píng)論