先到官网下载proxool-0.9.1.jar,放入你的工程CLASSPATH里,在Spring的applicationContext.xml中加入如下配置:
<!-- 数据源配置,主要用于开发测试环境 -->
<bean id="dataSource"
class="org.logicalcobwebs.proxool.ProxoolDataSource">
<property name="alias">
<value>cms-ds</value>
</property>
<property name="driver">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="driverUrl">
<value>${db.url}</value>
</property>
<property name="user">
<value>${db.user}</value>
</property>
<property name="password">
<value>${db.password}</value>
</property>
<!--一旦发现空闲的连接数没达到该值将建链-->
<property name="prototypeCount">
<value>0</value>
</property>
<!--一次建链的数量,生产环境可设置为5-->
<property name="simultaneousBuildThrottle">
<value>1</value>
</property>
<!--生产环境应把该值设置为50-->
<property name="maximumConnectionCount">
<value>${db.maximumConnectionCount}</value>
</property>
<!--生产环境应把该值设置为10-->
<property name="minimumConnectionCount">
<value>${db.minimumConnectionCount}</value>
</property>
<!--每连接每次使用的最大时长(毫秒)-->
<property name="maximumActiveTime">
<value>300000</value>
</property>
<!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁-->
<property name="houseKeepingSleepTime">
<value>90000</value>
</property>
<property name="houseKeepingTestSql">
<value>select 1 from dual</value>
</property>
<!--满负载时,等待的时长-->
<property name="overloadWithoutRefusalLifetime">
<value>30000</value>
</property>
<!--是否启用日志跟综-->
<property name="trace">
<value>${db.trace}</value>
</property>
</bean>
需要注意的是:proxool的疏忽,导致该类的两个long型属性,set方法为int型,而get返回却是long型,从而导致spring转载bean时报错,"houseKeepingSleepTime","overloadWithoutRefusalLifetime",一种做法是把这两个配置删除,另一种即是更改ProxoolDataSource源码,附件是更改后的jar包