posts - 3,  comments - 14,  trackbacks - 0
            2009年6月2日
          hibernate默認連接池有一個問題,不會自動檢測數據庫連接是否斷開,MYSQL數據庫一段時間(大約8小時)沒有訪問就會斷開連接,連接池里的連接卻還是存在,下次訪問hibernate會繼續使用這個連接,導致數據庫連接異常。由于該問題需要在服務器長時間運行時才會出現,所以在平時測試很難發現。

          解決方法:
          1.在連接參數中使用autoReconnect以后,第一次執行失敗后會自動重新連接。
          2.通過把服務器上Mysql的"wait_timeout"屬性設置的高點。
          3.不使用Hibernate內置的連接池,改用C3P0連接池,這個連接池會自動處理數據庫連接被關閉的情況。要使用C3P0很簡單,先從Hibernate里把c3p0-0.8.3.jar復制到項目的lib目錄中,再在hibernate.properties里去掉hibernate.c3p0開頭的那些屬性的注釋(使用缺省值或自己需要的數值),這樣 Hibernate就會自動使用C3P0代替內置的連接池了。c3p0為open source的JDBC連接池,隨hibernate一起發布。c3p0連接池的配置非常簡單,只需要在hibernate.cfg.xml里增加:
                  <!-- configuration pool -->
                  <property name="c3p0.acquire_increment">1</property>
                  <property name="c3p0.idle_test_period">100</property> <!-- seconds -->
                  <property name="c3p0.max_size">5</property>
                  <property name="c3p0.max_statements">0</property>
                  <property name="c3p0.min_size">2</property>
                  <property name="c3p0.timeout">90</property> <!-- seconds -->
          另外,還需要在CLASS_PATH里加上c3p0-x.x.x.jar文件(x.x.x為版本號),c3p0-x.x.x.jar文件隨hibernate一起發布,你可以在其lib目錄下找到該文件。
          配置好之后,hibernate便會自動使用c3p0的連接池:C3P0ConnectionProvider
          posted @ 2009-06-13 05:57 jhost 閱讀(2158) | 評論 (2)編輯 收藏

          項目中使用使用Hibernate作為持久層框架時,如果數據庫由于某種原因需要改名,在修改數據庫連接后出現“could not execute query”異常,那么有可能是因為你的項目里*.hbm.xml配置文件中的catalog屬性值還是原數據庫名,改成新數據庫名即可。或者干脆將catalog="..."屬性去掉,這樣就不會存在數據庫更名后無法執行查詢的問題了。

           

          這個問題雖然不是什么疑難雜癥,不過確實容易被忽略,我就被這個問題耽誤了好一會。

          posted @ 2009-06-12 15:10 jhost 閱讀(1128) | 評論 (3)編輯 收藏

              現在網上免費的JSP空間太少,有也是定期關服務或各種約束。

              為了喜歡使用JAVA和PHP進行WEB開發的朋友們,能在互聯網上有一個免費的網絡空間用于學習交流,本人托管了一個服務器,免費提供JSP,PHP虛擬主機,支持struts,hibernate等常用框架。同時免費提供一個Mysql數據庫,支持FTP與WEB兩種方式進行空間文件的管理。上傳文件沒有時間與大小限制,也不要求用戶定期登錄,大家可以放心使用。

              有需要朋友可以訪問www.jhost.cn申請免費JSP、PHP空間。

          posted @ 2009-06-02 16:57 jhost 閱讀(5891) | 評論 (9)編輯 收藏
          主站蜘蛛池模板: 潼关县| 阿克陶县| 郁南县| 禹城市| 汉阴县| 竹北市| 新乡县| 镇雄县| 休宁县| 巫山县| 阿拉善右旗| 山西省| 信宜市| 当雄县| 镶黄旗| 梁山县| 黔西县| 中卫市| 葵青区| 喜德县| 安顺市| 扶绥县| 十堰市| 英山县| 诸城市| 河东区| 黄龙县| 平南县| 灵宝市| 佛冈县| 临颍县| 邯郸县| 鄂托克旗| 元阳县| 视频| 怀宁县| 武隆县| 古田县| 永顺县| 武邑县| 潜山县|