这两天在试用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服务器传输两个文件,当同时传输两个文件的时候报错,单独传一个任务的时候却没有问题,不知道如何解决,求遇到的朋友解答一下,谢谢!