2013-07-11 34 views
0

在我的jsps中,我使用的是會話bean。一些bean具有JNDI(LDAP)或套接字作爲memeber變量。所以當bean初始化時,這個連接也被打開。豆中的Jndi /套接字連接

我的問題是,當我註銷時,這些套接字或JNDI連接不會去。它們保留在內存中,並且正在使用分配給tomcat的文件描述符。

爲什麼這些連接沒有被finalizer()關閉?

會話過期後有什麼清理所有連接嗎? (除了會話監聽器,爲此我需要更改很多代碼?)

回答

0

您不應該使用終結器,而應該在對象被垃圾收集時運行,但您無法知道當你的EJB是GC'd 或者即使他們是

所以這裏的答案是「不離開連接開放」,它適用於插座,JNDI,數據庫等許多其他資源。