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

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

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

    posts - 495,comments - 227,trackbacks - 0

    tomcatde DHCP的配置
    <Resource driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
    logAbandoned="true" maxActive="20" maxIdle="2" maxWait="5000" name="system"
    removeAbandonedTimeout="60" removeAbandoned="true"
    password="xx" type="javax.sql.DataSource"
    url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=base"
    username="sa"/>
    當中的
    logAbandoned="true"  removeAbandoned="true" removeAbandonedTimeout="60"
    就是用來配置數據庫斷開后自動連接的。


    數據庫連接池會在啟動時就建立所需的若干連接,并一直保持連接狀態,
    但是當數據庫服務停止后,這些連接就被外部因素給中斷了
    網上優化了的配置信息:
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
    <property name="driverClassName" value="${db.driverClassName}"/> 
    <property name="url" value="${db.url}"/> 
    <property name="username" value="${db.username}"/> 
    <property name="password" value="${db.password}"/> 
    <!--initialSize: 初始化連接--> 
    <property name="initialSize" value="5"/> 
    <!--maxIdle: 最大空閑連接--> 
    <property name="maxIdle" value="10"/> 
    <!--minIdle: 最小空閑連接--> 
    <property name="minIdle" value="5"/> 
    <!--maxActive: 最大連接數量--> 
    <property name="maxActive" value="15"/> 
    <!--removeAbandoned: 是否自動回收超時連接--> 
    <property name="removeAbandoned" value="true"/> 
    <!--removeAbandonedTimeout: 超時時間(以秒數為單位)--> 
    <property name="removeAbandonedTimeout" value="180"/> 
    <!--maxWait: 超時等待時間以毫秒為單位 6000毫秒/1000等于60秒--> 
    <property name="maxWait" value="3000"/> 
    <property name="validationQuery"> 
    <value>SELECT 1</value> 
    </property> 
    <property name="testOnBorrow"> 
    <value>true</value> 
    </property> 
    </bean>  

    dbcp配置中文版本,自apache 官方文檔
    原文請見http://commons.apache.org/dbcp/configuration.html。

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

    參數  默認值  描述
    defaultAutoCommit  true  連接池創建的連接的默認的auto-commit狀態
    defaultReadOnly  driver default  連接池創建的連接的默認的read-only狀態.
    如果沒有設置則setReadOnly方法將不會被調用. (某些驅動不支持只讀模式,比如:Informix)
    defaultTransactionIsolation  driver default  連接池創建的連接的默認的TransactionIsolation狀態.
    下面列表當中的某一個: (參考javadoc)

        * NONE
        * READ_COMMITTED
        * READ_UNCOMMITTED
        * REPEATABLE_READ
        * SERIALIZABLE

    defaultCatalog   連接池創建的連接的默認的catalog

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

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

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


    這里可以開啟PreparedStatements池. 當開啟時, 將為每個連接創建一個statement池,
    并且被下面方法創建的PreparedStatements將被緩存起來:
        * public PreparedStatement prepareStatement(String sql)
        * public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency)
    注意: 確認連接還有剩余資源可以留給其他statement
    參數  默認值  描述
    accessToUnderlyingConnectionAllowed  false  控制PoolGuard是否容許獲取底層連接


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

    默認false不開啟, 這是一個有潛在危險的功能, 不適當的編碼會造成傷害.
    (關閉底層連接或者在守護連接已經關閉的情況下繼續使用它).請謹慎使用,
    并且僅當需要直接訪問驅動的特定功能時使用.
    注意: 不要關閉底層連接, 只能關閉前面的那個.
    參數  默認值  描述
    removeAbandoned  false  標記是否刪除泄露的連接,如果他們超過了removeAbandonedTimout的限制.
    如果設置為true, 連接被認為是被泄露并且可以被刪除,如果空閑時間超過removeAbandonedTimeout.
    設置為true可以為寫法糟糕的沒有關閉連接的程序修復數據庫連接.
    removeAbandonedTimeout  300  泄露的連接可以被刪除的超時值, 單位秒
    logAbandoned  false  標記當Statement或連接被泄露時是否打印程序的stack traces日志。
    被泄露的Statements和連接的日志添加在每個連接打開或者生成新的Statement,
    因為需要生成stack trace。


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

    posted on 2011-04-14 10:58 SIMONE 閱讀(17696) 評論(0)  編輯  收藏 所屬分類: JSP
    主站蜘蛛池模板: 亚洲免费在线播放| 亚洲AV无码之国产精品| 亚洲码在线中文在线观看| 亚洲国产91在线| 一级毛片大全免费播放下载| ww在线观视频免费观看| 亚洲欧洲日本在线| 亚洲香蕉久久一区二区| 亚洲免费在线视频观看| 亚洲美女aⅴ久久久91| 国产日韩在线视频免费播放| 好先生在线观看免费播放| 国产V亚洲V天堂无码久久久| 国产精品亚洲小说专区| 免费人成网站在线观看10分钟| 亚洲大尺度无码无码专区| 无码国产精品一区二区免费3p| 国产偷国产偷亚洲清高动态图| 日本亚洲欧美色视频在线播放| 成人亚洲综合天堂| 最新亚洲人成网站在线观看 | 337P日本欧洲亚洲大胆艺术图 | 亚洲一区二区视频在线观看| 亚洲中文字幕久久精品蜜桃| 95老司机免费福利| 亚洲av中文无码乱人伦在线播放| 美女的胸又黄又www网站免费| 毛片大全免费观看| 日日摸日日碰夜夜爽亚洲| 亚洲日韩小电影在线观看| 久青草国产免费观看| 亚洲AV永久无码精品| 永久免费的网站在线观看| 亚洲国产成人精品无码区在线秒播 | 亚洲综合国产成人丁香五月激情| 国产成人免费片在线视频观看| 亚洲熟女综合一区二区三区| 亚洲午夜成人精品电影在线观看| 1000部啪啪未满十八勿入免费| 亚洲第一页在线观看| 午夜国产大片免费观看|