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

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

          留言簿(14)

          隨筆分類

          收藏夾

          My Favorite Web Sites

          名Bloger

          非著名Bloger

          搜索

          •  

          積分與排名

          • 積分 - 202865
          • 排名 - 284

          最新評論

                   一個都起灰塵的項目,最近出現一個問題。描述如下:當天使用很正常,到了第二天就不能登錄使用,具體的說不能訪問數據庫。重啟“小貓”之后,能正常使用,但到第二天又不行啦。根據日志分析,是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 閱讀(929) 評論(0)  編輯  收藏 所屬分類: 數據庫(Sql server,My sql)

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


          網站導航:
           
          主站蜘蛛池模板: 漳浦县| 柘城县| 衡阳县| 灯塔市| 墨竹工卡县| 固安县| 平和县| 宜春市| 萍乡市| 岱山县| 宜黄县| 福州市| 商都县| 江川县| 防城港市| 姚安县| 沈丘县| 东丰县| 沙湾县| 郑州市| 阳城县| 瑞丽市| 密山市| 文昌市| 健康| 绍兴市| 沂水县| 秭归县| 简阳市| 贺兰县| 宁河县| 翼城县| 木兰县| 峡江县| 余干县| 定南县| 舞阳县| 扬中市| 金寨县| 天津市| 祁连县|