spring 连接池 dbcp参数使用
<!-- 因为查询6.1的sql经常导致线程卡死,切换连接池使用,原org.springframework.jdbc.datasource.DriverManagerDataSource它不是连接池,是无限制生成新的连接 -->
<!-- 开始 sixone -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" lazy-init="false">
<property name="driverClassName" value="${jdbc_driver}" />
<property name="url" value="${jdbc_url}" />
<property name="username" value="${jdbc_username}" />
<property name="password" value="${jdbc_password}" />
<!-- 自动提交状态.如果没有设置,setAutoCommit方法不会被调用 -->
<property name="defaultAutoCommit" value="true"/>
<!-- 如果没有设置,setReadOnly方法就不会调用(一些数据库不支持readOnly模式,比如informix) -->
<property name="defaultReadOnly" value="false"/>
<!-- 最大数据库连接数,设置为0时,表示没有限制 6.1连接数最大并发200(单核) -->
<property name="maxActive" value="200"/>
<!-- 最大连接持久数,其它会被释放,负数表示没有上限 -->
<property name="maxIdle" value="150"/>
<!-- 连接持久数,其它的都会新建,0全部新建 -->
<property name="minIdle" value="20"/>
<!-- 连接池创建的时候,建立的连接数.从1起 -->
<property name="initialSize" value="1"/>
<!-- 设置在自动回收超时连接的时候打印连接的超时错误 -->
<property name="logAbandoned" value="true"/>
<!-- 设置自动回收超时连接 -->
<property name="removeAbandoned" value="true"/>
<!-- 超时时间(以秒数为单位) 6.1长连最大300秒 -->
<property name="removeAbandonedTimeout" value="120"/>
<!-- 超时等待时间以毫秒为单位 -->
<property name="maxWait" value="100"/>
<!-- 验证连接是否成功 自动请求MSSQL数据库 t_jd_disable_airline目前无用,数据很少 该方法是尝试-->
<property name="validationQuery" value="select count(1) from t_jd_disable_airline with(nolock)"/>
</bean>

浙公网安备 33010602011771号