<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Energy of Love  
    日歷
    <2010年8月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234
    統計
    • 隨筆 - 70
    • 文章 - 0
    • 評論 - 80
    • 引用 - 0

    導航

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

     
    一、連接池概述
     數據庫連接池概述:
      數據庫連接是一種關鍵的有限的昂貴的資源,這一點在多用戶的網頁應用程序中體現得尤為突出。對數據庫連接的管理能顯著影響到整個
    應用程序的伸縮性和健壯性,影響到程序的性能指標。數據庫連接池正是針對這個問題提出來的。
      數據庫連接池負責分配、管理和釋放數據庫連接,它允許應用程序重復使用一個現有的數據庫連接,而再不是重新建立一個;釋放空閑時
    間超過最大空閑時間的數據庫連接來避免因為沒有釋放數據庫連接而引起的數據庫連接遺漏。這項技術能明顯提高對數據庫操作的性能。
      數據庫連接池在初始化時將創建一定數量的數據庫連接放到連接池中,這些數據庫連接的數量是由最小數據庫連接數來設定的。無論這些
    數據庫連接是否被使用,連接池都將一直保證至少擁有這么多的連接數量。連接池的最大數據庫連接數量限定了這個連接池能占有的最大連接
    數,當應用程序向連接池請求的連接數超過最大連接數量時,這些請求將被加入到等待隊列中。數據庫連接池的最小連接數和最大連接數的設
    置要考慮到下列幾個因素:
      1) 最小連接數是連接池一直保持的數據庫連接,所以如果應用程序對數據庫連接的使用量不大,將會有大量的數據庫連接資源被浪費;
      2) 最大連接數是連接池能申請的最大連接數,如果數據庫連接請求超過此數,后面的數據庫連接請求將被加入到等待隊列中,這會影響之
    后的數據庫操作。
      3) 如果最小連接數與最大連接數相差太大,那么最先的連接請求將會獲利,之后超過最小連接數量的連接請求等價于建立一個新的數據庫
    連接。不過,這些大于最小連接數的數據庫連接在使用完不會馬上被釋放,它將被放到連接池中等待重復使用或是空閑超時后被釋放。
    目前常用的連接池有:C3P0、DBCP、Proxool
    網上的評價是:
    C3P0比較耗費資源,效率方面可能要低一點。
    DBCP在實踐中存在BUG,在某些種情會產生很多空連接不能釋放,Hibernate3.0已經放棄了對其的支持。
    Proxool的負面評價較少,現在比較推薦它,而且它還提供即時監控連接池狀態的功能,便于發現連接泄漏的情況。
    配置如下:
    1、在spring配置文件中,一般在applicationContext.xml中
         <bean id="proxoolDataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">
                <property name="driver" value="${jdbc.connection.driverClassName}"/>
                <property name="driverUrl" value="${jdbc.connection.url}"/>
                <property name="user" value="${jdbc.connection.username}"/>
                <property name="password" value="${jdbc.connection.password}"/>
                <!-- 測試的SQL執行語句 -->
               <property name="houseKeepingTestSql" value="${proxool.houseKeepingTestSql}"/>
                <!-- 最少保持的空閑連接數 (默認2個) -->
                 <property name="prototypeCount" value="${proxool.prototypeCount}"/>
                <!-- proxool自動偵察各個連接狀態的時間間隔(毫秒),偵察到空閑的連接就馬上回收,超時的銷毀 默認30秒) -->
                <property name="houseKeepingSleepTime" value="${proxool.hourseKeepingSleepTime}"/>
                <!-- 最大活動時間(超過此時間線程將被kill,默認為5分鐘) -->
                 <property name="maximumActiveTime" value="${proxool.maximumActiveTime}"/>
                <!-- 連接最長時間(默認為4個小時) -->
                <property name="maximumConnectionLifetime" value="${proxool.maximumConnectionLifetime}"/>
                <!-- 最小連接數 (默認2個) -->
                <property name="minimumConnectionCount" value="${proxool.minimumConnectionCount}"/>
                <!-- 最大連接數 (默認5個) -->
                <property name="maximumConnectionCount" value="${proxool.maximumConnectionCount}"/>
                <!-- -->
                <property name="statistics" value="${proxool.statistics}"/>
                <!-- 別名 -->
                 <property name="alias" value="${proxool.alias}"/>
                <!-- -->
                <property name="simultaneousBuildThrottle" value="${proxool.simultaneous-build-throttle}"/>
         </bean>
         然后注入到sessionFactory中
         <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
               <property name="dataSource" ref="proxoolDataSource"/>
         </bean>
     
    Porxool 配置文件
    --==--==--==--==--==<proxool.xml>==--==--==--==--==--==--==
    <?xml version="1.0" encoding="UTF-8"?>
    <proxool>
          <alias>WMS</alias>
          <driver-url>jdbc:postgresql://192.168.210.184:5432/wms</driver-url>
          <driver-class>org.postgresql.Driver</driver-class>
          <driver-properties>
                 <property name="user" value="wms_user" />
                 <property name="password" value="wms" />
          </driver-properties>
          <minimum-connection-count>2</minimum-connection-count>
          <maximum-connection-count>40</maximum-connection-count>
          <simultaneous-build-throttle>20</simultaneous-build-throttle>
          <prototype-count>2</prototype-count>
          <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
    </proxool>
    --==--==--==--==--==<proxool.xml>==--==--==--==--==--==--==
     
    配置說明:
    alias                                          -〉數據庫連接別名(程序中需要使用的名稱)
    driver-url                                   -〉數據庫驅動
    driver-class                                -〉驅動程序類
    driver-properties                        -〉聯機數據庫的用戶和密碼
    minimum-connection-count          -〉最小連接數量,建議設置0以上,保證第一次連接時間
    maximum-connection-count         -〉最大連接數量,如果超過最大連接數量則會拋出異常。連接數設置過多,服務器CPU和內存性能消耗很
    大。
    simultaneous-build-throttle          -〉同時最大連接數
    prototype-count                          -〉一次產生連接的數量。
                                                     例:如果現在prototype-count設置為4個,但是現在已經有2個可以獲得的連接,那么
    將會試圖再創建2個連接。
                                                      但不能超過最大連接數。
    maximum-active-time                 -〉連接最大時間活動 默認5分鐘
    maximum-connection-lifetime      -〉連接最大生命時間 默認4小時
    posted on 2010-08-27 10:25 不高興 閱讀(28745) 評論(2)  編輯  收藏 所屬分類: Java
    評論:
    • # re: spring配置詳解-連接池配置(轉載)[未登錄]  hhh Posted @ 2014-11-17 18:09
      ggggggg  回復  更多評論   

    • # re: spring配置詳解-連接池配置(轉載)  啊大大 Posted @ 2016-04-05 19:39
      是飛灑發  回復  更多評論   

     
    Copyright © 不高興 Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 二区久久国产乱子伦免费精品| 亚洲成a人片在线观看无码专区| 国产精品久久久久久久久久免费| 性色av免费观看| 国产男女性潮高清免费网站| 亚洲无线一二三四区手机| 亚洲综合成人网在线观看| 亚洲伦理一二三四| 精品久久亚洲一级α| 东北美女野外bbwbbw免费 | 深夜久久AAAAA级毛片免费看| 国产福利在线观看永久免费| 亚洲精品国产免费| 亚洲日本韩国在线| 亚洲黄片手机免费观看| 亚洲精品卡2卡3卡4卡5卡区| 亚洲最大天堂无码精品区| 两个人日本免费完整版在线观看1| 国产亚洲成av片在线观看| 久久午夜夜伦鲁鲁片免费无码影视 | 日本一区午夜艳熟免费| 色吊丝永久在线观看最新免费| 国产午夜亚洲精品理论片不卡| 亚洲AV无码乱码在线观看代蜜桃| 久久av免费天堂小草播放| 日本免费观看网站| 亚洲伦理中文字幕| 日韩精品极品视频在线观看免费| 免费成人午夜视频| 亚洲五月丁香综合视频| 国产成人无码区免费A∨视频网站 国产成人涩涩涩视频在线观看免费 | 亚洲午夜无码久久久久| 亚洲AV无码专区国产乱码不卡| 在线观看免费视频资源| 亚洲免费网站观看视频| 免费看国产精品3a黄的视频| 男女猛烈无遮掩视频免费软件| 国产极品粉嫩泬免费观看| 国产精品免费久久久久影院| 亚洲欧洲日产国产最新| 在免费jizzjizz在线播|