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/[email protected]: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本身有問題,版本之類。。