spring dbcp连接池配置

本文介绍了如何在Spring框架中配置DBCP连接池,实现ApplicationServer级别的连接池共享,以节约资源并确保关键应用的稳定供应。通过详细参数配置,优化了web应用间的连接管理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

spring中配置dbcp连接池
使用ApplicationServer级别的连接池, 在ApplicationServer内的几个webapp间共享连接池以节约总的连接数,也可以为每个webapp独立分配以保证关键应用的供应。

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" 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="initialSize" value="10" />
<!-- 连接池的最大值 -->
<property name="maxActive" value="100" />
<!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->
<property name="maxIdle" value="50" />
<!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
<property name="minIdle" value="10" />
<!--#给出一条简单的sql语句进行验证-->
<property name="validationQuery" value="select getdate()" />
<!--#在取出连接时进行有效验证-->
<property name="testOnBorrow" value="true" />
<property name="removeAbandonedTimeout" value="120" />
<property name="removeAbandoned" value="true" />
<!-- #运行判断连接超时任务的时间间隔,单位为毫秒,默认为-1,即不执行任务。 -->
<property name="timeBetweenEvictionRunsMillis" value="3600000" />
<!-- #连接的超时时间,默认为半小时。 -->
<property name="minEvictableIdleTimeMillis" value="3600000" />
</bean>



( 以下内容摘在springside):
DBCP的性能配置主要是4个参数
#连接池启动时的初始值.
dbcp.initialSize=10
#连接池的最大值.
dbcp.maxActive=50
#最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止。
dbcp.maxIdle=20
#最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请。
dbcp.minIdle=5
一般这几个参数应该放在applicationContext.properties里方便部署时快速修改。
有两种配置风格,
比如较少使用者的管理界面,平时的使用者不多,但瞬时可能会有较多的使用者,如Mini-Web,会设置一个较低的maxIdle 而设置较高的maxActive。
比如长期高负荷运行的业务系统,会设置一个合理的maxIdle值,且maxActive==maxIdle
长期idle连接的处理:
Mysql服务端会断开超过8小时的空闲连接,如果系统只在白天工作时间被使用,DBCP的连接就很容易被断开的连接,而且DBCP对jdbc url里设置autoReconnect=true是无效。
更好的做法DBCP主动断开超时的连接。
#运行判断连接超时任务的时间间隔,单位为毫秒,默认为-1,即不执行任务。
timeBetweenEvictionRunsMillis=3600000
#连接的超时时间,默认为半小时。
minEvictableIdleTimeMillis=3600000
经测试,按上面的设置,DBCP会在连接idle两小时后将其断开。

http://www.cnblogs.com/realviv/articles/1837191.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值