我的Blog我做主^_^

          走向一條通往JAVA的不歸路...

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            64 隨筆 :: 68 文章 :: 77 評論 :: 0 Trackbacks

          前一段時間朋友用hibernate+mysql整了一個應用,出現tomcat放一夜,mysql連接出現錯誤的情況,具體的錯誤信息忘記了。

          在網上查找一下,找到了這個帖子,還有就是這個了;原來Mysql在經過8小時不使用后會自動關閉已打開的連接,摘錄原文如下:

          5.4.

          I have a servlet/application that works fine for a day, and then stops working overnight

          MySQL closes connections after 8 hours of inactivity. You either need to use a connection pool that handles stale connections or use the "autoReconnect" parameter (see "Developing Applications with MySQL Connector/J").

          Also, you should be catching SQLExceptions in your application and dealing with them, rather than propagating them all the way until your application exits, this is just good programming practice. MySQL Connector/J will set the SQLState (see java.sql.SQLException.getSQLState() in your APIDOCS) to "08S01" when it encounters network-connectivity issues during the processing of a query. Your application code should then attempt to re-connect to MySQL at this point.

          現把具體方法貼出來,以供大家共享.
          方法一:
                         設置你的MYSQL數據庫:wait_timeout=24*60*60<秒>,把它的值設置大一點,呵呵
           方法二:
                         配置Hibernate C3p0連接池,配置如下:
          <property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
             <property name="c3p0.max_size">20</property>
             <property name="c3p0.min_size">5</property>
             <property name="c3p0.timeout">20</property>
             <property name="c3p0.max_statements">100</property>
             <property name="c3p0.idle_test_period">120</property>
             <property name="c3p0.acquire_increment">2</property>

          注意這里標紅的部分,要設置c3p0.timeout的值小于MySql的wait_timeout的值,這樣才行,要不還會出現異常.

          這次是一個教訓,所以不論從穩定還是性能的考慮,都應該選擇相對更加成熟的連接池。



          posted on 2007-05-23 10:52 java_蟈蟈 閱讀(957) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 玛多县| 石景山区| 静宁县| 尉犁县| 玉树县| 泗阳县| 甘德县| 福清市| 新密市| 美姑县| 海南省| 中阳县| 通化县| 岳阳县| 县级市| 秦皇岛市| 河南省| 阜南县| 巴彦县| 土默特左旗| 县级市| 句容市| 玉龙| 常德市| 泽州县| 德保县| 三门县| 平谷区| 南澳县| 连江县| 北辰区| 漳浦县| 祁东县| 东乌珠穆沁旗| 保定市| 武义县| 独山县| 富宁县| 华亭县| 塘沽区| 辽源市|