Исключение из-за недостатка памяти при использовании J2ssh jar - PullRequest
0 голосов
/ 04 октября 2011

Мы используем j2ssh jar (j2ssh - это внешний jar-файл, используемый для подключения Secured Shell) в нашем веб-приложении. Веб-приложение работает на сервере weblogic.

Я открываю соединение вот так

SshClient ssh = new SshClient();
SessionChannelClient session=null;
session = ssh.openSessionChannel();

внутри блока finally я закрываю сессию следующим образом.

finally
{
  System.out.println("disconnecting from ssh");
  try
 {
   session.close();
 }
 catch(IOException ioe)
 {
  theOutput = ioe.getMessage();
  System.out.println("IOException="+ioe);
 }
}

Я сомневаюсь, правильно ли я закрываю соединение? Будет ли он очищать стек Weblogic, потому что мы получаем частые жалобы на то, что пользователи получают исключения из-за переполнения памяти, что в основном означает, что сборка мусора не происходит должным образом. Как только мы перезагружаем сервер, это автоматически решается. память, чтобы избежать исключения переполнения памяти?

1 Ответ

1 голос
/ 04 октября 2011

Вы должны попытаться освободить объект сеанс и ssh после закрытия сеанса,

что-то вроде этого после блока catch,

finally {
 session = null;   
 ssh = null;
}
...