您的位置:首页 > 编程语言 > Java开发

04、IntrospectorCleanupListener

2015-05-29 11:34 381 查看

解决Spring整合其他框架和类库(非Spring托管的Bean,如Struts、quartz)产生的单个内部查看泄露使得整个web应用的类加载器不能进行垃圾回收。

类路径:org.springframework.web.util.IntrospectorCleanupListener;

解决问题:处理由JavaBean Introspector使用而引起的缓冲泄露, 它是一个在web应用关闭时清除JavaBean Introspector的监听器;

使用方法:在web.xml中注册这个listener可以保证在web应用关闭的时候释放掉与这个web应用相关的class loader和由它管理的类;

<listener>

  <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>

</listener>

源代码如下:
package  org.springframework.web.util;   

import  java.beans.Introspector;   

import  javax.servlet.ServletContextEvent;   

import  javax.servlet.ServletContextListener;   

  

public   class  IntrospectorCleanupListener  implements  ServletContextListener   {   

     public   void  contextInitialized(ServletContextEvent event)   {   

    }    

    

      public   void  contextDestroyed(ServletContextEvent event)   {   

        Introspector.flushCaches();   

    }    

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Spring