0

webapp で j2ssh jar (j2ssh は Secured Shell の接続に使用される外部 jar) を使用しています。webapp は 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スタックをクリアしますか?これは基本的にガベージコレクションが適切に行われていないことを意味します.サーバーを再起動すると、自動的に解決されます.WebLogicを定期的にクリアする方法はありますか?メモリ オーバーフロー例外を回避するには?

4

1 に答える 1

1

セッションを閉じた後、セッションsshオブジェクトを解放してみてください。

キャッチブロック後のこのようなもの、

finally {
 session = null;   
 ssh = null;
}
于 2011-10-04T05:56:37.173 に答える