至于为什么要用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");
分享到:
相关推荐
在高并发环境下,这一点尤为重要,因为频繁的连接操作会显著影响系统的响应速度。 在源代码中,你可以找到实现这些功能的关键组件,如`PoolProxy`,它是对数据库连接的代理,负责分配和回收连接。还有`Pool...
描述中的"proxool-bug_fix"同样强调了这一点,但没有提供具体修复了哪些问题。通常,这样的修复可能包括但不限于:修复内存泄漏、优化连接分配策略、改进线程安全性和并发性能、处理异常情况时的错误修复等。 ...
* C3P0比较耗费资源,效率方面可能要低一点。 * DBCP在实践中存在BUG,在某些种情会产生很多空连接不能释放,Hibernate3.0已经放弃了对其的支持。 * Proxool的负面评价较少,现在比较推荐它,而且它还提供即时监控...
在myEclipse中,可以通过添加连接池相关的jar包,并在Spring配置文件中设置dataSource节点,以及在`web.xml`文件中配置读取连接池配置文件的servlet,来实现这一点。例如,使用Proxool作为连接池,需要修改Spring...
common.jar jboss-jmx.jar jboss-system.jar jacc-1_0-fr.jar jgroups-2.2.8.jar oscache-2.1.jar proxool-0.8.3.jar swarmcache-1.0rc2.jar classes12.jar spring.jar ...
Blog记载了日常发生的事情和自己的兴趣爱好,把自己的思想和知识和他人分享、交流,同时又通过“六度空间”结识了更多志趣相投的朋友;而越来越多专业知识的 Blog 的出现,让我们看到了 Blog 更多所蕴涵的巨大的...