我的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_蟈蟈 閱讀(955) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 建昌县| 凉山| 同心县| 肥西县| 宁强县| 资兴市| 永康市| 广安市| 斗六市| 铁岭市| 武汉市| 宜宾市| 达孜县| 东源县| 通江县| 娄底市| 砀山县| 吉林省| 苏尼特左旗| 澜沧| 大悟县| 上栗县| 襄汾县| 琼结县| 万全县| 桂平市| 石柱| 会泽县| 亳州市| 宜良县| 涞水县| 阿鲁科尔沁旗| 巴楚县| 临潭县| 宝坻区| 江门市| 宁津县| 自治县| 榕江县| 韶关市| 双桥区|