在JDBC、Spring或者Hibernate中使用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.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");
 
3)、Hibernate调用
在hibernate.cfg.xml中增加: <property name="hibernate.proxool.pool_alias">pro_pool</property> <property name="hibernate.proxool.xml">proxool-conf.xml</property> <property name="connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
程序中使用
Connection con = DriverManager.getConnection("proxool.pro_pool");

你可能感兴趣的:(spring,oracle,Hibernate,jdbc,application,encoding)