posts - 2, comments - 27, trackbacks - 0, articles - 60
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          tomcat 連接池泄露的問題

          Posted on 2009-02-09 14:04 ZhouFeng 閱讀(406) 評論(0)  編輯  收藏 所屬分類: 轉載Web服務器
          1 問題描述
          Web程序在tomcat剛開始運行時速度很快,但過一段時間后發現速度變得很慢。
          檢查日志輸出,發現異常如下:
          org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted, cause:
          java.util.NoSuchElementException: Timeout waiting for idle object
          同時在SQLServer事件探查器中發現,每執行一次sql語句都要產生Audit login事件,語句執行后產生
          Audit logout事件。說明每一次tomcat都是重新打開新的連接。
          2 問題解決
          tomcat 的數據源定義提供了三個參數:
          a. 如果設為true則tomcat自動檢查恢復重新利用,沒有正常關閉的Connection.(默認是false)
          <parameter>
          <name>removeAbandoned</name>
          <value>true</value>
          </parameter>
          b. 設定連接在多少秒內被認為是放棄的連接,即可進行恢復利用。
          <parameter>
          <name>removeAbandonedTimeout</name>
          <value>60</value>
          </parameter>
          c. 輸出回收的日志,可以詳細打印出異常從而發現是在那里發生了泄漏
          <parameter>
          <name>logAbandoned</name>
          <value>true</value>
          </parameter>
          主站蜘蛛池模板: 土默特左旗| 黄石市| 吉林省| 横峰县| 马尔康县| 昌邑市| 河源市| 洛川县| 阿拉尔市| 枣庄市| 新建县| 唐海县| 洛浦县| 芒康县| 崇义县| 齐齐哈尔市| 五常市| 青川县| 莲花县| 阿克| 赣州市| 土默特左旗| 平罗县| 吴江市| 和静县| 绥宁县| 阿图什市| 济阳县| 四会市| 体育| 台湾省| 辽阳县| 盐城市| 济源市| 孝昌县| 金川县| 梓潼县| 东平县| 华容县| 开化县| 瓦房店市|