木木

            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 閱讀(1245) 評論(0)  編輯  收藏 所屬分類: Struts2學習 、Hibernate學習
          主站蜘蛛池模板: 苗栗市| 佛冈县| 越西县| 繁昌县| 长葛市| 双柏县| 杭州市| 黄陵县| 星座| 遵化市| 宁津县| 广宁县| 罗平县| 宁河县| 满洲里市| 灯塔市| 新泰市| 郓城县| 樟树市| 冷水江市| 曲周县| 达拉特旗| 黄龙县| 丁青县| 江永县| 天台县| 河曲县| 曲靖市| 广昌县| 涿鹿县| 湖南省| 花莲县| 老河口市| 霍林郭勒市| 永胜县| 都兰县| 苗栗县| 定州市| 南汇区| 平原县| 望城县|