1、简介:proxool 是一种 java 连接池技术。 是 sourceforge 下的一个开源项目。这个连接池提供监控的功能,方便易用,便于发现连接漏洞的情况。
2、所需 jar 文件,以我项目为例:proxool-0.9.1.jar、proxool-cglib.jar
3、spring 中配置 proxool 连接池管理数据源方式与步骤
步骤一:配置连接数据基本信息
method one: 在 spring 的 applicationContent.xml 中的 datasource bean 定义
<bean id="dataSource"
class="org.logicalcobwebs.proxool.ProxoolDataSource">
<property name="driver">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="driverUrl">
<value>jdbc:mysql://localhost:3306/dbname?user=yourname&password=yourpass</value>
</property>
<property name="user" value="yourname" />
<property name="password" value="yourpass" />
<property name="alias" value="Pool_dbname" />
<property name="houseKeepingSleepTime" value="90000" />
<property name="prototypeCount" value="0" />
<property name="maximumConnectionCount" value="50" />
<property name="minimumConnectionCount" value="2" />
<property name="simultaneousBuildThrottle" value="50" />
<property name="maximumConnectionLifetime" value="14400000" />
<property name="houseKeepingTestSql" value="select CURRENT_DATE" />
</bean>
method two:在 spring 的 applicationContext.xml 中的 datasource bean 定义
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>org.logicalcobwebs.proxool.ProxoolDriver</value>
</property>
<property name="url">
<value>proxool.Pool_dbname</value>
</property>
</bean>
步骤二:预先在 web.xml 中配置好 proxool 连接池,配置如下:
<servlet>
<servlet-name>ServletConfigurator</servlet-name>
<servlet-class>
org.logicalcobwebs.proxool.configuration.ServletConfigurator
</servlet-class>
<init-param>
<param-name>propertyFile</param-name>
<param-value>WEB-INF/classes/datasource.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
步骤三:直接添加配置文件:datasource.properties
jdbc-0.proxool.alias=ztsys
jdbc-0.proxool.driver-url=jdbc:oracle:thin:@(description=(address_list= (address=(host=172.19.172.13) (protocol=tcp)(port=1521))(address=(host=172.19.172.14)(protocol=tcp) (port=1521)) (load_balance=yes)(failover=yes))(connect_data=(service_name= ztsys)))
jdbc-0.proxool.driver-class=oracle.jdbc.driver.OracleDriver
jdbc-0.user=hisbase
jdbc-0.password=0CB75C052C31C5E7
#jdbc-0.password=77DE2156617711A38F2C50C51FBAF0FE
jdbc-0.proxool.house-keeping-sleep-time=40000
jdbc-0.proxool.house-keeping-test-sql=select sysdate from dual
jdbc-0.proxool.maximum-connection-count=200
jdbc-0.proxool.minimum-connection-count=5
jdbc-0.proxool.maximum-connection-lifetime=18000000
jdbc-0.proxool.simultaneous-build-throttle=5
jdbc-0.proxool.recently-started-threshold=40000
jdbc-0.proxool.overload-without-refusal-lifetime=50000
jdbc-0.proxool.maximum-active-time=900000
jdbc-0.proxool.verbose=true
jdbc-0.proxool.trace=true
jdbc-0.proxool.fatal-sql-exception=Fatal error
jdbc-0.proxool.prototype-count=2