现在的位置: 首页 > 综合 > 正文

在JDBC和Spring中使用proxool连接池

2013年03月04日 ⁄ 综合 ⁄ 共 2552字 ⁄ 字号 评论关闭

在JDBC和Spring中使用proxool连接池

至于为什么要用proxool连接池,这里就不细说了——总之,非常棒的一个连接池!

以下介绍proxool的部署和使用:

1、添加proxool-0.8.3.jar包。

2、把proxool-conf.xml放到src的根目录。
具体内容如下:
<?xml version="1.0" encoding="utf-8"?> 
<!-- the proxool configuration can be embedded within your own application's. 
Anything outside the "proxool" tag is ignored. 
请不要随意改动配置!
-->

<something-else-entirely> 
<proxool> 
<alias>pro_pool</alias> 
<!--proxool只能管理由自己产生的连接-->
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<driver-url>jdbc:oracle:thin:@IP地址:数据库实例名</driver-url>
<driver-properties>
    <property name="user" value="具体用户名" /> 
  <property name="password" value="具体密码" />
</driver-properties>
 

--><!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁--> 
<house-keeping-sleep-time>60000</house-keeping-sleep-time> 
<!-- 指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受--> 
<maximum-new-connections>20</maximum-new-connections> 
<!-- 线程最大寿命 -->
<maximum-connection-lifetime>1200000</maximum-connection-lifetime>
<!-- 最少保持的空闲连接数-->
<prototype-count>3</prototype-count> 
<!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定--> 
<maximum-connection-count>40</maximum-connection-count> 
<!-- 最小连接数--> 
<minimum-connection-count>3</minimum-connection-count> 
<house-keeping-test-sql>select CURRENT_DATE from dual</house-keeping-test-sql>
</proxool> 
</something-else-entirely>

3、在web.xml中添加以下代码,使得项目启动时,自动加载proxool。
 <servlet>
  <servlet-name>AdminP</servlet-name>
  <servlet-class>
   org.logicalcobwebs.proxool.admin.servlet.AdminServlet
  </servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>AdminP</servlet-name>
  <url-pattern>/AdminP</url-pattern>
 </servlet-mapping>

 <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/classes/proxool-conf.xml</param-value>
  </init-param>
  <load-on-startup>5</load-on-startup>
 </servlet>

4、程序调用
1)、Spring框架调用。
在applicationContext.xml文件中:

 <bean id="dataSource"
  class="org.springframework.jdbc.datasource.DriverManagerDataSource"
  destroy-method="close" singleton="true">
  <property name="driverClassName">
   <value>org.logicalcobwebs.proxool.ProxoolDriver</value>
  </property>
  <property name="url">
   <value>proxool.spring_pro_pool</value>
  </property>
 </bean>

2)、JDBC调用

driver = (Driver)Class.forName("org.logicalcobwebs.proxool.ProxoolDriver").newInstance();
DriverManager.registerDriver(driver);

conn = DriverManager.getConnection("proxool.pro_pool");

转载:

http://blog.163.com/xing_mu_1/blog/static/66142902008483103672/

抱歉!评论已关闭.