簡體   English   中英

Bean中的Jndi /套接字連接

[英]Jndi/socket connection in a bean

在我的jsps中,我正在使用會話bean。 一些Bean具有JNDI(LDAP)或套接字作為成員變量。 因此,在初始化Bean時,也會打開此連接。

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

為什么這些連接沒有被finalizer()關閉?

會話過期后,有什么方法可以清理所有連接嗎? (除了會話偵聽器,我需要為此更改很多代碼嗎?

您不應該只使用終結器。 應該在垃圾回收對象時運行它們,但是您不知道EJB是何時GC的,即使它們是 GC的也不知道。

因此,這里的答案是“不要斷開連接”,這適用於套接字,JNDI,數據庫和許多其他資源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM