bean中的Jndi / socket连接

时间:2013-07-11 07:51:51

标签: java jsp sockets session web

在我的jsps中,我正在使用会话bean。一些bean有JNDI(LDAP)或socket作为memeber变量。因此,当bean初始化时,这个连接也会打开。

我的问题是,当我退出时,这些套接字或JNDI连接不会。它们保留在内存中,并且正在消耗为tomcat分配的文件描述符。

终结器()为什么不关闭这些连接?

会话到期后还有什么可以清理所有连接吗? (除了会话监听器,我需要更改很多代码?

1 个答案:

答案 0 :(得分:0)

你根本不应该使用终结器。它们应该在对象被垃圾收集时运行,但是您无法知道您的EJB何时GC 或者即使它们

所以这里的答案是“不要让连接打开”,这适用于套接字,JNDI,数据库和许多其他资源。