隨筆 - 251  文章 - 504  trackbacks - 0
          <2009年6月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          本博客系個人收集材料及學習記錄之用,各類“大俠”勿擾!

          留言簿(14)

          隨筆分類

          收藏夾

          My Favorite Web Sites

          名Bloger

          非著名Bloger

          搜索

          •  

          積分與排名

          • 積分 - 204285
          • 排名 - 283

          最新評論

                   一個都起灰塵的項目,最近出現一個問題。描述如下:當天使用很正常,到了第二天就不能登錄使用,具體的說不能訪問數據庫。重啟“小貓”之后,能正常使用,但到第二天又不行啦。根據日志分析,是MySQL數據庫連接關閉了。
          “java.sql.SQLException
          MESSAGE: Communication link failure: java.net.SocketException, underlying cause: Software caused connection abort: recv failed”.

                  上網查了些帖子,發現可能是MySQL5.0版本的一個bug:超時問題。MySQL默認等待時間間隔wait_timeout是8小時,也就是8小時內,我們的系統沒有使用,沒有對數據庫進行訪問的話,數據庫會關閉連接,而當我們系統用這些連接對數據庫進行訪問時,就會出現上述問題。
                    解決辦法有2種:
          1. 對于MySQL5之前的版本,如Mysql4.x,只需要修改連接池配置中的URL,添加一個參數:autoReconnect=true,如果是MySQL5及以后的版本,則需要修改my.ini文件。在[mysqld]后面添加上: wait_timeout=1814400,把默認的8小時盡量延長。
          2. 采用第三方的數據庫連接池來管理連接, 如,proxool、C3P0等。性能方面據說proxool更強些。由于該系統用了hibernate,對C3P0支持比較好,C3P0.jar包無需另外下載。C3P0和hibernate的配置也相對簡單,如下,
                   先把C3P0.jar包拷貝到WEB-INF\lib下,然后修改hibernate.cfg.xml文件,加入以下內容:
          <!--C3P0 setting-->
                  <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
                  <property name="hibernate.c3p0.min_size">2</property>
                  <property name="hibernate.c3p0.timeout">5000</property>
                  <property name="hibernate.c3p0.max_statements">100</property>
                  <property name="hibernate.c3p0.idle_test_period">3000</property>
                  <property name="hibernate.c3p0.acquire_increment">2</property>
                  <property name="hibernate.c3p0.validate">false</property>

                   這樣基本可以解決MySQL的超時問題,如何檢查該方法是否有效呢?可以通過修改服務器的系統日期,把日期往前推幾個月,然后再訪問系統,看是否還報錯。
          posted on 2009-06-22 14:56 matthew 閱讀(935) 評論(0)  編輯  收藏 所屬分類: 數據庫(Sql server,My sql)

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


          網站導航:
           
          主站蜘蛛池模板: 宝兴县| 彭山县| 喀什市| 个旧市| 许昌县| 额尔古纳市| 永新县| 和平县| 库尔勒市| 鄂伦春自治旗| 苏尼特左旗| 济阳县| 迭部县| 万州区| 普兰县| 玉门市| 新乡市| 福鼎市| 桐乡市| 甘南县| 资讯 | 张北县| 普格县| 嘉鱼县| 广东省| 永定县| 陆良县| 苍南县| 富川| 禹州市| 修文县| 德惠市| 中方县| 乌恰县| 津南区| 宜阳县| 建水县| 故城县| 阿城市| 枣阳市| 邛崃市|