分享

Struts2 Hibernate中关闭Session的filter问题

 pengx 2008-04-28

用Struts2+Hibernate开发Web程序
发现网站老是一动不动,在DAO中用  Statistics stats = HibernateUtil.getSessionFactory().getStatistics();
查看了统计结果,发现打开50个Session只有20个关闭了.
看结构也没有什么问题,我使用两个ThreadLocal 存放Session 和Transaction,再用一个Filter去关闭,各个配置表面上也是没有问题,可是做测试的时候才发现关闭Session的Filter根本就是没有运行,或是有时运行,有时不运行,
仔细想了想,调整了一下sessionclosefilter和Struts2的filter的顺序如下,终于可以关闭了

 <filter>
        <filter-name>HibernateSessionCloseFiler</filter-name>
        <filter-class>com.hitecin.struts2.filter.HibernateSessionClose</filter-class>
    </filter>
    <filter>
        <filter-name>struts-cleanup</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
    </filter>
      <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>

      <filter-mapping>
        <filter-name>HibernateSessionCloseFiler</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
     <filter-mapping>
         <filter-name>struts-cleanup</filter-name>
         <url-pattern>/*</url-pattern>
     </filter-mapping>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多