1,下载proxool的jar包,其中包括common-log.jar
这里有两种方式配置spring的数据源
第一种
1.在web.xml中添加如下内容
<servlet>
<servlet-name>proxoolServletConfigurator</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>
<init-param>
<param-name>xmlFile</param-name>
<param-value>WEB-INF/config/proxool.xml</param-value> <!-配置文件信息--->
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>proxooladmin</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>proxooladmin</servlet-name>
<url-pattern>/proxooladmin</url-pattern><!-proxool的管理界面可以看到其的使用情况--->
</servlet-mapping>
注:http://localhost:8080/webname/proxooladmin 可以打开后管理界面
2.配置spring
<!-- 数据源配置,使用proxool作为连接池-->
<bean id="hibernateDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close">
<property name="driverClassName">
<value>org.logicalcobwebs.proxool.ProxoolDriver</value>
</property>
<property name="url">
<value>proxool.JDBCpool</value> 此处的名字一定要与proxool.xml中的名字一致
</property>
</bean>
3.配置proxool.xml内容
<?xml version="1.0" encoding="utf-8"?>
<something-else-entirely>
<proxool>
<alias>JDBCpool</alias>
<!--proxool只能管理由自己产生的连接-->
<driver-url>jdbc:oracle:thin:@localhost:1521:Med</driver-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<driver-properties>
<property name="user" value=""/>
<property name="password" value=""/>
</driver-properties>
<!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁-->
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<!-- 指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受-新版本中该参数已被重写->
<maximum-new-connections>20</maximum-new-connections>
<!-- 最少保持的空闲连接数-->
<prototype-count>5</prototype-count>
<!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定-->
<maximum-connection-count>100</maximum-connection-count>
<!-- 最小连接数-->
<minimum-connection-count>10</minimum-connection-count>
</proxool>
</something-else-entirely>
别忘了把jar放在你的WEB-INF 的lib下啊!
第二
<bean id="mainDataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource" destroy-method="close">
<property name="driver">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="driverUrl">
<value>jdbc:oracle:thin:laaa/password@127.0.0.1:1521:ORADB</value>
<!--用户名和密码写在一起才调用成功,不然会报 调用无效的参数 错误,下面设置用户名和密码的property好像是无效的,其它数据库也是这样
比如mysql的也要把用户名和密码写在url里:<property name="driverUrl" value="jdbc:mysql://localhost:3306/blogdb?user=laaa&password=aaaa" />
-->
</property>
<property name="user">
<value>lizongbo</value>
</property>
<property name="password">
<value>lizongbo</value>
</property>
<property name="alias">
<value>lizongbo</value>
</property>
<property name="houseKeepingSleepTime">
<value>90000</value>
</property>
<property name="prototypeCount">
<value>5</value>
</property>
<property name="maximumConnectionCount">
<value>100</value>
</property>
<property name="minimumConnectionCount">
<value>10</value>
</property>
<property name="trace">
<value>true</value>
</property>
<property name="verbose">
<value>true</value>
</property>
</bean>
注意:开始在原来工程copy了一个proxool.jar.直接放在工程下,但是resin启动时就是提示不能加载类,整了半天也不行,最后换了个高版本的jar。问题解决,所以可能是jar包损坏,如果你是按照官方文档做的,却遇到了一些奇怪问题,那可以考虑下是否那些jar本身有问题,版本之类。。