銀色幻想

          常用鏈接

          統(tǒng)計

          積分與排名

          學習交流

          最新評論

          Struts+Spring+Hibernate內(nèi)存泄漏

          在服務器運行過程中,Spring不停的運行的計劃任務和OpenSessionInViewFilter,使得Tomcat反復加載對象而產(chǎn)生框架并用時可能產(chǎn)生的內(nèi)存泄漏,則使用IntrospectorCleanupListener作為相應的解決辦法。"

          對于這一句話,引用關于IntrospectorCleanupListener一段解釋:

          引用
          spring中的提供了一個名為org.springframework.web.util.IntrospectorCleanupListener的監(jiān)聽器。它主要負責處理由 JavaBeans Introspector的使用而引起的緩沖泄露。spring中對它的描述如下:它是一個在web應用關閉的時候,清除JavaBeans Introspector的監(jiān)聽器.web.xml中注冊這個listener.可以保證在web 應用關閉的時候釋放與掉這個web 應用相關的class loader 和由它管理的類如果你使用了JavaBeans Introspector來分析應用中的類,Introspector 緩沖中會保留這些類的引用.結(jié)果在你的應用關閉的時候,這些類以及web 應用相關的class loader沒有被垃圾回收.不幸的是,清除Introspector的唯一方式是刷新整個緩沖.這是因為我們沒法判斷哪些是屬于你的應用的引用.所以刪除被緩沖的introspection會導致把這臺電腦上的所有應用的introspection都刪掉.需要注意的是,spring 托管的bean不需要使用這個監(jiān)聽器.因為spring它自己的introspection所使用的緩沖在分析完一個類之后會被馬上從javaBeans Introspector緩沖中清除掉.應用程序中的類從來不直接使用JavaBeans Introspector.所以他們一般不會導致內(nèi)部查看資源泄露.但是一些類庫和框架往往會產(chǎn)生這個問題.例如:Struts 和Quartz.單個的內(nèi)部查看泄漏會導致整個的web應用的類加載器不能進行垃圾回收.在web應用關閉之后,你會看到此應用的所有靜態(tài)類資源(例如單例).這個錯誤當然不是由這個類自 身引起的.

          用法很簡單,就是在web.xml中加入:
          <listener>
          <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
          </listener>

          ?

          posted on 2007-05-18 09:54 銀色幻想 閱讀(1327) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 湘潭县| 温州市| 隆回县| 内江市| 沭阳县| 武冈市| 保康县| 广丰县| 资讯 | 安溪县| 增城市| 巫山县| 崇明县| 山东省| 赤城县| 临高县| 曲阜市| 方正县| 罗平县| 抚远县| 延边| 永修县| 宿迁市| 连平县| 时尚| 上虞市| 常宁市| 堆龙德庆县| 扶余县| 铜鼓县| 蒲江县| 韶关市| 兴业县| 盐亭县| 黄龙县| 布拖县| 长丰县| 海伦市| 韩城市| 惠州市| 大同市|