这两天在试用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服务器传输两个文件,当同时传输两个文件的时候报错,单独传一个任务的时候却没有问题,不知道如何解决,求遇到的朋友解答一下,谢谢!
相关推荐
《深入理解Java SSH连接库:com.jcraft.jsch》 SSH(Secure Shell)是一种网络协议,用于在不安全的网络环境中提供安全的远程登录和其他服务。在Java开发中,com.jcraft.jsch库是一个实现SSH连接的重要工具,它使得...
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等问题"这一主题。首先,我们需要理解这个问题的根本原因。当SSH服务器升级了其加密算法,而客户端(在这种情况下是使用JSCH的Java...
利用com.jcraft.jsch进行SFTP下载文件,方便简单快捷操作SFTP
总的来说,com.jcraft.jsch_0.1.31.jar为Java开发者提供了一个强大且易于使用的SFTP解决方案,它简化了远程文件操作,提升了代码的安全性和效率。对于那些需要在Java应用中集成SFTP功能的开发者来说,这是一个...
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"是两个在JAVA编程环境中用于实现FTP(File Transfer Protocol)功能的重要库文件,它们是Java开发者进行FTP通信时经常会用到的依赖。 首先,`...
总结来说,"com.jcraft.jsch.jar"和"commons-net"是Java开发中处理网络通信特别是SSH和FTP任务的重要工具,而.NET平台也有类似的功能实现,为不同平台的开发者提供了丰富的网络通信解决方案。了解并熟练运用这些库,...
jar包,官方版本,自测可用
3. `com.jcraft.jsch.JSchException`:JSch库中的异常类,用于捕获和处理与SSH连接相关的错误。 4. `com.jcraft.jsch.ChannelSftp`:实现了SFTP协议的类,提供了丰富的文件操作方法。 5. `...
jar包,官方版本,自测可用
1. **初始化JSch对象**:创建`com.jcraft.jsch.JSch`实例,这是所有JSch操作的基础。 2. **设置用户身份信息**:配置用户名、密码、私钥等认证信息,可以通过`addIdentity`方法添加公钥和私钥对,或者通过`set...
JSch是Java Secure Channel的缩写,它是一个纯Java实现的SSH2库,允许Java应用程序连接到支持SSH协议的服务器,进行安全的数据传输。在给定的标题"jsch0.1.55.jar_jsch0.1.53.jar"中,提到了两个不同版本的JSch库...
jar包,官方版本,自测可用
- 异常处理:JSch的API会抛出多种异常,如JSchException、IOException等,需要在代码中进行适当的捕获和处理。 - 性能优化:在大量或频繁的SSH操作中,合理管理会话池可以提高性能。 总结,JSch是Java开发中实现SSH...
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)...
jar包,官方版本,自测可用