Sky's blog

          我和我追逐的夢(mèng)

          導(dǎo)航

          <2008年2月>
          272829303112
          3456789
          10111213141516
          17181920212223
          2425262728291
          2345678

          留言簿(8)

          隨筆分類

          隨筆檔案

          閱讀排行榜

          評(píng)論排行榜

          常用鏈接

          統(tǒng)計(jì)

          其他鏈接

          友情鏈接

          最新評(píng)論

          dbcp配置--官方文檔中文版本

              dbcp配置中文版本,翻譯自apache 官方文檔,原文請(qǐng)見http://commons.apache.org/dbcp/configuration.html。

          參數(shù)描述
          username 傳遞給JDBC驅(qū)動(dòng)的用于建立連接的用戶名
          password 傳遞給JDBC驅(qū)動(dòng)的用于建立連接的密碼
          url 傳遞給JDBC驅(qū)動(dòng)的用于建立連接的URL
          driverClassName 使用的JDBC驅(qū)動(dòng)的完整有效的java 類名
          connectionProperties 當(dāng)建立新連接時(shí)被發(fā)送給JDBC驅(qū)動(dòng)的連接參數(shù),格式必須是 [propertyName=property;]*
          注意:參數(shù)user/password將被明確傳遞,所以不需要包括在這里。



          參數(shù)默認(rèn)值描述
          defaultAutoCommit true 連接池創(chuàng)建的連接的默認(rèn)的auto-commit狀態(tài)
          defaultReadOnly driver default 連接池創(chuàng)建的連接的默認(rèn)的read-only狀態(tài). 如果沒(méi)有設(shè)置則setReadOnly方法將不會(huì)被調(diào)用. (某些驅(qū)動(dòng)不支持只讀模式,比如:Informix)
          defaultTransactionIsolation driver default 連接池創(chuàng)建的連接的默認(rèn)的TransactionIsolation狀態(tài). 下面列表當(dāng)中的某一個(gè): (參考javadoc)
          • NONE
          • READ_COMMITTED
          • READ_UNCOMMITTED
          • REPEATABLE_READ
          • SERIALIZABLE
          defaultCatalog
          連接池創(chuàng)建的連接的默認(rèn)的catalog



          參數(shù)默認(rèn)值描述
          initialSize 0 初始化連接:連接池啟動(dòng)時(shí)創(chuàng)建的初始化連接數(shù)量,1.2版本后支持
          maxActive 8 最大活動(dòng)連接:連接池在同一時(shí)間能夠分配的最大活動(dòng)連接的數(shù)量, 如果設(shè)置為非正數(shù)則表示不限制
          maxIdle 8 最大空閑連接:連接池中容許保持空閑狀態(tài)的最大連接數(shù)量,超過(guò)的空閑連接將被釋放,如果設(shè)置為負(fù)數(shù)表示不限制
          minIdle 0 最小空閑連接:連接池中容許保持空閑狀態(tài)的最小連接數(shù)量,低于這個(gè)數(shù)量將創(chuàng)建新的連接,如果設(shè)置為0則不創(chuàng)建
          maxWait 無(wú)限 最大等待時(shí)間:當(dāng)沒(méi)有可用連接時(shí),連接池等待連接被歸還的最大時(shí)間(以毫秒計(jì)數(shù)),超過(guò)時(shí)間則拋出異常,如果設(shè)置為-1表示無(wú)限等待



          參數(shù)默認(rèn)值描述
          validationQuery
          SQL查詢,用來(lái)驗(yàn)證從連接池取出的連接,在將連接返回給調(diào)用者之前.如果指定,則查詢必須是一個(gè)SQL SELECT并且必須返回至少一行記錄
          testOnBorrow true 指明是否在從池中取出連接前進(jìn)行檢驗(yàn),如果檢驗(yàn)失敗,則從池中去除連接并嘗試取出另一個(gè).
          注意: 設(shè)置為true后如果要生效,validationQuery參數(shù)必須設(shè)置為非空字符串
          testOnReturn false 指明是否在歸還到池中前進(jìn)行檢驗(yàn)
          注意: 設(shè)置為true后如果要生效,validationQuery參數(shù)必須設(shè)置為非空字符串
          testWhileIdle false 指明連接是否被空閑連接回收器(如果有)進(jìn)行檢驗(yàn).如果檢測(cè)失敗,則連接將被從池中去除.
          注意: 設(shè)置為true后如果要生效,validationQuery參數(shù)必須設(shè)置為非空字符串
          timeBetweenEvictionRunsMillis -1 在空閑連接回收器線程運(yùn)行期間休眠的時(shí)間值,以毫秒為單位. 如果設(shè)置為非正數(shù),則不運(yùn)行空閑連接回收器線程
          numTestsPerEvictionRun 3 在每次空閑連接回收器線程(如果有)運(yùn)行時(shí)檢查的連接數(shù)量
          minEvictableIdleTimeMillis 1000 * 60 * 30 連接在池中保持空閑而不被空閑連接回收器線程(如果有)回收的最小時(shí)間值,單位毫秒



          參數(shù)默認(rèn)值描述
          poolPreparedStatements false 開啟池的prepared statement 池功能
          maxOpenPreparedStatements 不限制 statement池能夠同時(shí)分配的打開的statements的最大數(shù)量, 如果設(shè)置為0表示不限制

          這里可以開啟PreparedStatements池. 當(dāng)開啟時(shí), 將為每個(gè)連接創(chuàng)建一個(gè)statement池,并且被下面方法創(chuàng)建的PreparedStatements將被緩存起來(lái):
              * public PreparedStatement prepareStatement(String sql)
              * public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency)
          注意: 確認(rèn)連接還有剩余資源可以留給其他statement


          參數(shù)默認(rèn)值描述
          accessToUnderlyingConnectionAllowed false 控制PoolGuard是否容許獲取底層連接

          如果容許則可以使用下面的方式來(lái)獲取底層連接:
              Connection conn = ds.getConnection();
              Connection dconn = ((DelegatingConnection) conn).getInnermostDelegate();
              ...
              conn.close();

          默認(rèn)false不開啟, 這是一個(gè)有潛在危險(xiǎn)的功能, 不適當(dāng)?shù)木幋a會(huì)造成傷害.(關(guān)閉底層連接或者在守護(hù)連接已經(jīng)關(guān)閉的情況下繼續(xù)使用它).請(qǐng)謹(jǐn)慎使用,并且僅當(dāng)需要直接訪問(wèn)驅(qū)動(dòng)的特定功能時(shí)使用.
          注意: 不要關(guān)閉底層連接, 只能關(guān)閉前面的那個(gè).


          參數(shù)默認(rèn)值描述
          removeAbandoned false 標(biāo)記是否刪除泄露的連接,如果他們超過(guò)了removeAbandonedTimout的限制.如果設(shè)置為true, 連接被認(rèn)為是被泄露并且可以被刪除,如果空閑時(shí)間超過(guò)removeAbandonedTimeout. 設(shè)置為true可以為寫法糟糕的沒(méi)有關(guān)閉連接的程序修復(fù)數(shù)據(jù)庫(kù)連接.
          removeAbandonedTimeout 300 泄露的連接可以被刪除的超時(shí)值, 單位秒
          logAbandoned false 標(biāo)記當(dāng)Statement或連接被泄露時(shí)是否打印程序的stack traces日志。被泄露的Statements和連接的日志添加在每個(gè)連接打開或者生成新的Statement,因?yàn)樾枰蓅tack trace。

          如果開啟"removeAbandoned",那么連接在被認(rèn)為泄露時(shí)可能被池回收. 這個(gè)機(jī)制在(getNumIdle() < 2) and (getNumActive() > getMaxActive() - 3)時(shí)被觸發(fā).
          舉例當(dāng)maxActive=20, 活動(dòng)連接為18,空閑連接為1時(shí)可以觸發(fā)"removeAbandoned".但是活動(dòng)連接只有在沒(méi)有被使用的時(shí)間超過(guò)"removeAbandonedTimeout"時(shí)才被刪除,默認(rèn)300秒.在resultset中游歷不被計(jì)算為被使用.


          posted on 2008-02-19 16:28 sky ao 閱讀(17424) 評(píng)論(3)  編輯  收藏 所屬分類: database

          評(píng)論

          # re: dbcp配置--官方文檔中文版本[未登錄](méi) 2008-03-07 17:31 a

          maxActive參數(shù)不能設(shè)為0,否則數(shù)據(jù)庫(kù)忙的時(shí)候,會(huì)影響程序的運(yùn)行。  回復(fù)  更多評(píng)論   

          # re: dbcp配置--官方文檔中文版本[未登錄](méi) 2008-03-09 21:57 飄然

          maxActive參數(shù)不能設(shè)為0?

          我的理解你說(shuō)的不是是否容許配制為0,而是配制為0的后果吧?maxActive配制為非正整數(shù)(<= 0)是,表示不受限制。這樣當(dāng)請(qǐng)求數(shù)量大時(shí),連接池的連接數(shù)將無(wú)限增大,最后超過(guò)數(shù)據(jù)庫(kù)承受能力。

          這個(gè)問(wèn)題就需要使用者自己衡量處理策略,和dbcp具體的配制無(wú)關(guān)。  回復(fù)  更多評(píng)論   

          # re: dbcp配置--官方文檔中文版本 2009-05-02 11:30 josdoc

          Java開源文檔(www.josdoc.com)轉(zhuǎn)載了您的文章!若有異議請(qǐng)告知,謝謝!  回復(fù)  更多評(píng)論   


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 苏尼特左旗| 咸宁市| 巴南区| 南平市| 肥城市| 穆棱市| 错那县| 炎陵县| 景谷| 明星| 大田县| 龙州县| 龙井市| 平果县| 河源市| 乌苏市| 确山县| 宜阳县| 剑阁县| 施甸县| 灌阳县| 海南省| 绥德县| 温宿县| 大港区| 清水县| 天柱县| 博罗县| 宁国市| 石河子市| 淮滨县| 密云县| 左贡县| 建宁县| 延安市| 法库县| 沂源县| 通江县| 永登县| 浪卡子县| 凤城市|