在看了
[url]http://agapple.iteye.com/blog/772507[/url]这篇文章后,对公司现有的系统做了改良。使用的是MYSQL配置。
MYSQLURL与驱动不贴出来了,配置文件里都有。
在项目中,我使用SPRING去配置DBCP,读取上述资源文件信息
[url]http://agapple.iteye.com/blog/772507[/url]这篇文章后,对公司现有的系统做了改良。使用的是MYSQL配置。
MYSQLURL与驱动不贴出来了,配置文件里都有。
mysql.user=root
mysql.password=root
mysql.connectionPool.maxActive=20
mysql.connectionPool.initialSize=4
mysql.connectionPool.minIdle=5
mysql.connectionPool.maxIdle=20
mysql.connectionPool.maxWait=60000
mysql.connectionPool.removeAbandoned=true
在项目中,我使用SPRING去配置DBCP,读取上述资源文件信息
<bean id="dsMysql"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName">
<value>${driver.mysql}</value>
</property>
<property name="url">
<value>${mysql.url}</value>
</property>
<property name="username">
<value>${mysql.user}</value>
</property>
<property name="password">
<value>${mysql.password}</value>
</property>
<!-- 连接池启动时创建的初始化连接数量(不设定即为0)-->
<property name="initialSize">
<value>${mysql.connectionPool.initialSize}</value>
</property>
<!-- 连接池中可同时连接的最大的连接数(默认值为8) -->
<property name="maxActive">
<value>${mysql.connectionPool.maxActive}</value>
</property>
<!-- 连接池中最小的空闲的连接数,低于这个数量会被创建新的连接 -->
<property name="minIdle">
<value>${mysql.connectionPool.minIdle}</value>
</property>
<!-- 连接池中最大的空闲的连接数,超过的空闲连接将被释放 -->
<property name="maxIdle">
<value>${mysql.connectionPool.maxIdle}</value>
</property>
<!-- 最大等待时间,当没有可用连接时,连接池等待连接释放的最大时间,超过该时间限制会抛出异常 -->
<property name="maxWait">
<value>${mysql.connectionPool.maxWait}</value>
</property>
<!-- removeAbandoned属性说明 -->
<!-- 超过removeAbandonedTimeout时间后,是否进 行没用连接(废弃)的回收(默认为false) -->
<!-- 举例当maxActive=20, 活动连接为18,空闲连接为1时可以触发"removeAbandoned".但是活动连接只有在没有被使用的时间超 过"removeAbandonedTimeout(这里默认为300秒)"时才被回收 -->
<!-- 遇到数据库死锁。以前遇到过后端存储过程做了锁表操作,导致前台集群中连接池全都被block住,后续的业务处理因为拿不到链接所有都处理失败了。 -->
<property name="removeAbandoned">
<value>${mysql.connectionPool.removeAbandoned}</value>
</property>
</bean>