加入ehcache后,系統出現內存泄漏,解決辦法


最近在系統中,加入緩存ehcache,但發現,每隔一天,服務器就會報出內存溢出。
問題嚴重,后來在網上查資料發現,一篇解釋的網文:

spring中的提供了一個名為org.springframework.web.util.IntrospectorCleanupListener的監聽器。它主要負責
處理由 JavaBeans  Introspector的使用而引起的緩沖泄露。spring中對它的描述如下:
 
它是一個在web應用關閉的時候,清除JavaBeans Introspector的監聽器.在web.xml中注冊這個listener.
可以保證在web 應用關閉的時候釋放與掉這個web 應用相關的class loader 和由它管理的類
 
如果你使用了JavaBeans Introspector來分析應用中的類,Introspector 緩沖中會保留這些類的引用.
結果在你的應用關閉的時候,這些類以及web 應用相關的class loader沒有被垃圾回收.

解決辦法,就是在web.xml中加入:
<listener>
<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
</listener>

問題解決,再也沒有報內存泄漏了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM