1. 程式人生 > >DruidDataSource連接池配置

DruidDataSource連接池配置

調用 檢測 per 表示 idl 回收 connect table value

數據源連接池配置

技術分享

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="filters" value="stat" />
連接池的最大數據庫連接數。設為0表示無限制。一般把maxActive設置成可能的並發量就行了
<property name="maxActive" value="1000" />
初始化大小
<property name="initialSize" value="10" />
最大等待毫秒數, 單位為 ms, 如果超過此時間將接到異常,設為-1表示無限制
<property name="maxWait" value="60000" />
最大等待(空閑)連接中的數量,設 0 為沒有限制
<property name="maxIdle" value="100" />
最小等待(空閑)連接中的數量
<property name="minIdle" value="10" />
在空閑連接回收器線程運行期間休眠的時間值,以毫秒為單位. 如果設置為非正數,則不運行空閑連接回收器線程
<property name="timeBetweenEvictionRunsMillis" value="60000" />
連接池中保持空閑而不被空閑連接回收器線程 ,回收的最小時間值,單位毫秒
<property name="minEvictableIdleTimeMillis" value="300000" />
SQL查詢,用來驗證從連接池取出的連接,在將連接返回給調用者之前.如果指定, 則查詢必須是一個SQL SELECT並且必須返回至少一行記錄
<property name="validationQuery" value="SELECT ‘x‘" />
指明連接是否被空閑連接回收器(如果有)進行檢驗.如果檢測失敗, 則連接將被從池中去除.
註意: 設置為true後如果要生效,validationQuery參數必須設置為非空字符串
<property name="testWhileIdle" value="true" />
指明是否在從池中取出連接前進行檢驗,如果檢驗失敗 則從池中去除連接並嘗試取出另一個. 註意: 設置為true後如果要生效,validationQuery參數必須設置為非空字符串
<property name="testOnBorrow" value="false" />
指明是否在歸還到池中前進行檢驗
<property name="testOnReturn" value="false" />
開啟池的prepared statement 池功能
<property name="poolPreparedStatements" value="true" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="50" />
</bean>

DruidDataSource連接池配置