木木

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  21 随笔 :: 4 文章 :: 5 评论 :: 0 Trackbacks

用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>

posted on 2008-02-17 01:37 KTOO 阅读(1231) 评论(0)  编辑  收藏 所属分类: Struts2学习Hibernate学习

只有注册用户登录后才能发表评论。


网站导航: