我们在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内存以避免内存溢出异常?
答案 0 :(得分:1)
您应该在关闭会话后尝试发布会话和 ssh 对象,
在catch块之后这样的东西,
finally {
session = null;
ssh = null;
}