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

          tomcat 連接池泄露的問題

          Posted on 2009-02-09 14:04 ZhouFeng 閱讀(414) 評論(0)  編輯  收藏 所屬分類: 轉(zhuǎn)載Web服務(wù)器
          1 問題描述
          Web程序在tomcat剛開始運行時速度很快,但過一段時間后發(fā)現(xiàn)速度變得很慢。
          檢查日志輸出,發(fā)現(xiàn)異常如下:
          org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted, cause:
          java.util.NoSuchElementException: Timeout waiting for idle object
          同時在SQLServer事件探查器中發(fā)現(xiàn),每執(zhí)行一次sql語句都要產(chǎn)生Audit login事件,語句執(zhí)行后產(chǎn)生
          Audit logout事件。說明每一次tomcat都是重新打開新的連接。
          2 問題解決
          tomcat 的數(shù)據(jù)源定義提供了三個參數(shù):
          a. 如果設(shè)為true則tomcat自動檢查恢復(fù)重新利用,沒有正常關(guān)閉的Connection.(默認(rèn)是false)
          <parameter>
          <name>removeAbandoned</name>
          <value>true</value>
          </parameter>
          b. 設(shè)定連接在多少秒內(nèi)被認(rèn)為是放棄的連接,即可進(jìn)行恢復(fù)利用。
          <parameter>
          <name>removeAbandonedTimeout</name>
          <value>60</value>
          </parameter>
          c. 輸出回收的日志,可以詳細(xì)打印出異常從而發(fā)現(xiàn)是在那里發(fā)生了泄漏
          <parameter>
          <name>logAbandoned</name>
          <value>true</value>
          </parameter>
          主站蜘蛛池模板: 饶河县| 揭阳市| 黔西| 兰坪| 江永县| 巴马| 怀柔区| 方城县| 桂阳县| 都兰县| 武乡县| 积石山| 九台市| 武清区| 正镶白旗| 桦甸市| 洪洞县| 莫力| 石阡县| 开平市| 葫芦岛市| 齐齐哈尔市| 石台县| 杭锦后旗| 咸阳市| 万安县| 鹤岗市| 徐闻县| 综艺| 南城县| 广汉市| 襄垣县| 连江县| 德令哈市| 寿宁县| 甘洛县| 祥云县| 兴城市| 宜兴市| 天等县| 武穴市|