`
wang吖
  • 浏览: 239869 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

com.jcraft.jsch.JSchException: channel is not opened.求解决方案

 
阅读更多

这两天在试用SFTP传输文件的时候遇到了如下异常:

2014-09-26 09:47:50,262 [35549531] ERROR - ager.sftp.impl.SftpManagerImpl - create channel error 

com.jcraft.jsch.JSchException: connection is closed by foreign host

at com.jcraft.jsch.Session.connect(Session.java:269)

at com.jcraft.jsch.Session.connect(Session.java:183)

at com.jd.chongzhi.manager.sftp.impl.SftpManagerImpl.connectFtpServer(SftpManagerImpl.java:52)

at com.jd.chongzhi.manager.sftp.impl.SftpManagerImpl.sftpFile(SftpManagerImpl.java:69)

at com.jd.chongzhi.service.transfer.impl.TransferFileServiceImpl.transferFile(TransferFileServiceImpl.java:74)

at com.jd.chongzhi.service.task.impl.AutoTransferFileHandler.processTask(AutoTransferFileHandler.java:38)

at com.jd.chongzhi.service.task.impl.AutoTransferFileHandler.doProcess(AutoTransferFileHandler.java:27)

at com.jd.chongzhi.service.task.SingleTaskProcessor.process(SingleTaskProcessor.java:55)

at com.jd.chongzhi.service.task.MultiTaskProcessor$TaskThread.run(MultiTaskProcessor.java:137)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

at java.lang.Thread.run(Thread.java:662)

 

应用场景:

       单线程循环向两个不同的sftp服务器传输两个文件,当同时传输两个文件的时候报错,单独传一个任务的时候却没有问题,不知道如何解决,求遇到的朋友解答一下,谢谢!

分享到:
评论
3 楼 Scorpio921 2016-12-15  
wang吖 写道
该问题已经解决,由于多线程并发,链接SFTP的session和chanle出现了竞争……

请问下是怎么解决的
2 楼 afahan 2015-04-20  
请问是如何解决的?我最近也遇到同样的问题
1 楼 wang吖 2014-09-29  
该问题已经解决,由于多线程并发,链接SFTP的session和chanle出现了竞争……

相关推荐

    com.jcraft.jsch

    《深入理解Java SSH连接库:com.jcraft.jsch》 SSH(Secure Shell)是一种网络协议,用于在不安全的网络环境中提供安全的远程登录和其他服务。在Java开发中,com.jcraft.jsch库是一个实现SSH连接的重要工具,它使得...

    com.jcraft.jsch_0.1.31

    com.jcraft.jsch.JSchException.class com.jcraft.jsch.CipherNone.class com.jcraft.jsch.SftpATTRS.class com.jcraft.jsch.KeyPairRSA.class com.jcraft.jsch.Packet.class com.jcraft.jsch.RequestExec.class ...

    升级jsch包解决ssh升级后jschexception:algorithm negotiation fail 等问题

    本文将深入探讨"升级jsch包解决ssh升级后jschexception:algorithm negotiation fail等问题"这一主题。首先,我们需要理解这个问题的根本原因。当SSH服务器升级了其加密算法,而客户端(在这种情况下是使用JSCH的Java...

    利用com.jcraft.jsch进行SFTP下载文件

    利用com.jcraft.jsch进行SFTP下载文件,方便简单快捷操作SFTP

    com.jcraft.jsch_0.1.31.jar

    总的来说,com.jcraft.jsch_0.1.31.jar为Java开发者提供了一个强大且易于使用的SFTP解决方案,它简化了远程文件操作,提升了代码的安全性和效率。对于那些需要在Java应用中集成SFTP功能的开发者来说,这是一个...

    com.jcraft.jsch_0.1.27.jar

    jar包,官方版本,自测可用

    com.jcraft.jsch_0.1.31.jar和commons-net-3.2.jar

    标题中的"com.jcraft.jsch_0.1.31.jar"和"commons-net-3.2.jar"是两个在Java开发中常用的库文件,它们主要用于处理不同的网络通信任务。让我们详细了解一下这两个库以及它们在实际开发中的作用。 首先,`...

    com.jcraft.jsch_0.1.31.jar commons-net-3.2.jar

    标题中的"com.jcraft.jsch_0.1.31.jar"和"commons-net-3.2.jar"是两个在JAVA编程环境中用于实现FTP(File Transfer Protocol)功能的重要库文件,它们是Java开发者进行FTP通信时经常会用到的依赖。 首先,`...

    com.jcraft.jschjar和commons-net

    总结来说,"com.jcraft.jsch.jar"和"commons-net"是Java开发中处理网络通信特别是SSH和FTP任务的重要工具,而.NET平台也有类似的功能实现,为不同平台的开发者提供了丰富的网络通信解决方案。了解并熟练运用这些库,...

    com.jcraft.jsch-all-1.0.0.release.jar

    jar包,官方版本,自测可用

    jsch-0.1.54.zip

    3. `com.jcraft.jsch.JSchException`:JSch库中的异常类,用于捕获和处理与SSH连接相关的错误。 4. `com.jcraft.jsch.ChannelSftp`:实现了SFTP协议的类,提供了丰富的文件操作方法。 5. `...

    com.jcraft.jsch-all-1.0.6.release.jar

    jar包,官方版本,自测可用

    jsch-0.1.55,包含jar和source

    1. **初始化JSch对象**:创建`com.jcraft.jsch.JSch`实例,这是所有JSch操作的基础。 2. **设置用户身份信息**:配置用户名、密码、私钥等认证信息,可以通过`addIdentity`方法添加公钥和私钥对,或者通过`set...

    jsch0.1.55.jar_jsch0.1.53.jar

    JSch是Java Secure Channel的缩写,它是一个纯Java实现的SSH2库,允许Java应用程序连接到支持SSH协议的服务器,进行安全的数据传输。在给定的标题"jsch0.1.55.jar_jsch0.1.53.jar"中,提到了两个不同版本的JSch库...

    com.jcraft.jsch-all-1.0.4.release.jar

    jar包,官方版本,自测可用

    jcraft-jsch.zip

    - 异常处理:JSch的API会抛出多种异常,如JSchException、IOException等,需要在代码中进行适当的捕获和处理。 - 性能优化:在大量或频繁的SSH操作中,合理管理会话池可以提高性能。 总结,JSch是Java开发中实现SSH...

    可用的jsch-0.1.54.jar

    import com.jcraft.jsch.*; public class JschExample { public static void main(String[] args) { JSch jsch = new JSch(); Session session; try { session = jsch.getSession("username", "hostname", 22)...

    com.jcraft.jsch-all-1.1.0.m2.jar

    jar包,官方版本,自测可用

Global site tag (gtag.js) - Google Analytics