Я использую однопоточное приложение для подключения моего клиентского сервера Architecture. В основном это приложение создаст много подключений & автоматически закрывает его после завершения задания. Мы получаем исключениеJ2ssh ssh клиент отключен часто
«com.sshtools.j2ssh.transport.TransportProtocolException: Соединение не завершен»
Мы включили журналы j2ssh, чтобы выяснить причину проблемы. Ниже приведены полные сведения об этой проблеме.
Java Версия: jdk1.6.0_11
API Использована J2SSH Ядро 0.2.9 (j2ssh-ядро-0.2.9.jar)
com.sshtools.j2ssh.transport.TransportProtocolException: The connection did not complete
at com.sshtools.j2ssh.transport.TransportProtocolClient.onStartTransportProtocol(Unknown Source)
at com.sshtools.j2ssh.transport.TransportProtocolCommon.startTransportProtocol(Unknown Source)
at com.sshtools.j2ssh.SshClient.connect(Unknown Source)
at com.sshtools.j2ssh.SshClient.connect(Unknown Source)
at com.sshtools.j2ssh.SshClient.connect(Unknown Source)
at info.itserv.globalinterface.gui.SFTP.openSSH(SFTP.java:95)
at info.itserv.globalinterface.gui.SFTP.connectionSFTP(SFTP.java:228)
........ и следующий код
public void openSSH(String hostname, int authCode) {
try {
sshClient.connect(hostname,
new IgnoreHostKeyVerification());
sshClient.getConnectionProperties().setPort(this.port);
//Authenticate
GENERAL.println("Processing logging...");
switch (authCode) {
case 0:
this.login(this.username, this.password);
System.out.println("Password authentication");
break;
case 1:
//String keyFilename = "D:\\Cygwin\\home\\gtantot\\id_dsa";
this.loginCertificat(this.username, this.keyFilename,
this.passphrase);
System.out.println("Password authentication");
break;
default:
System.out.println("ECHEC SSH connection");
break;
}
this.sftp = sshClient.openSftpClient();
} catch (TransportProtocolException e) {
System.out.println("Transport: "+e.getMessage().toString());
e.printStackTrace();
}
catch (IOException e1) {
System.out.println("Error openSSH: "+e1.getMessage());
e1.printStackTrace();
} }
public void closeSSH() {
if (sshClient != null) {
sshClient.disconnect();
}
}
Есть ли способ преодолеть эту ошибку? Как эта ошибка приведет к сбою одного сеанса sftp приложения до , каково решение для этого?
Java SE 6 Update 11 дата выхода == 2008-12-03, j2ssh дата выхода 19 мая 2009 - время для чего-то нового? –
попробуйте использовать jsch, он отлично работает –
Спасибо, что предложили Wombat ..) Я также попытался обновить Java 7. Но та же проблема возникает. Если нет способа, мне нужно попробовать только для jsch. –