連接SFTP當我試圖不斷地上傳文件到使用Java 5個的線程, 在正常啓動的程序上傳文件,但一段時間後,SFTP服務器,的UnknownHostException occures使用Java
的所有線程拋出的UnknownHostException試圖創建時新的會話和異常持續高達5〜10分鐘,一段時間程序正常工作後,我不能找到什麼會導致這種異常,
這是用於連接SFTP的代碼,
JSch jsch = new JSch();
jsch.setKnownHosts(host_file);
session = jsch.getSession(SFTPUSER,SFTPHOST,SFTPPORT);
session.setPassword(SFTPPASS);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
channel = session.openChannel("sftp");
channel.connect();
例外:
at td.bdops.clupload.CARUpload.uploadZip(CARUpload.java:398)
at td.bdops.clupload.CARUpload.uploadZip(CARUpload.java:398)
Caused by: java.net.UnknownHostException: sftp.opsbank2-prod.tio.systems
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at com.jcraft.jsch.Util.createSocket(Util.java:343)
at com.jcraft.jsch.Session.connect(Session.java:215)
at com.jcraft.jsch.Session.connect(Session.java:183)
at td.bdops.util.FTPUtility.uploadAWSFTP(FTPUtility.java:227)
at td.bdops.util.FTPUtility.uploadAWSFTP(FTPUtility.java:247)
誰能請解釋一下我,什麼是根本原因這個錯誤
目標主機出現故障的可能性有多大? – Xvolks
我想一些打開的套接字沒有正確關閉。我建議你先查看/更改程序。如果錯誤仍然發生,也許你可以嘗試解決方案https://stackoverflow.com/q/30207301 –
@Xvolks否,當我發現這個異常時,我仍然可以通過FileZilla訪問主機。 – radhakrishnan