04、IntrospectorCleanupListener

来源:互联网 发布:如何把mac桌面的图标 编辑:程序博客网 时间:2024/05/19 23:25


解决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();   
    }    
}

0 0
原创粉丝点击