proxool 0.9.1 数据库连接池 配置及使用

proxool 0.9.1配置使用

一、配置管理JDBC MySQLSQL活动.

       首先去官方网站,下载proxool 0.9.1的zip包, 解压。

       lib文件夹中:
    +|proxool-0.9.1.jar  

    +|proxool-cglib.jar 
    使用时应再导入commons-logging.jar 


二、配置

1.这里使用proxool.xml 配置,不会写的可以在zip包的api中查找

 

proxool.xml

<?xml version="1.0" encoding="UTF-8"?> 
<something-else-entirely> 
	<!-- 此配置的注解针对的是proxool 0.9.1 --> 
	<proxool> 
	<!-- 别名 --> 
	<alias>test</alias> 
	<!-- 数据库连接的URL --> 
	<driver-url>jdbc:mysql://localhost:3306/temp</driver-url> 
	<!-- 数据库驱动类 --> 
	<driver-class>org.gjt.mm.mysql.Driver</driver-class> 
	<driver-properties> 
	<!-- 数据库的用户名 --> 
	  <property name="user" value="root"/> 
	<!-- 数据库的密码 --> 
	<property name="password" value="root"/> 
	</driver-properties> 
	<!-- 最大连接数,默认为15 --> 
	<maximum-connection-count>20</maximum-connection-count> 
	<!-- 最小连接数,默认为5 --> 
	<minimum-connection-count>2</minimum-connection-count> 
	<!--  如果housekeeper 检测到某个线程的活动时间大于这个数值.它将会杀掉这个线程. 
	    所以确认一下你的服务器的带宽.然后定一个合适的值,默认为5分钟,此处设置为1分钟,以毫秒计 --> 
	<maximum-active-time>60000</maximum-active-time> 
	<!-- 最大连接生命周期 ,默认为4小时,此处设置为5小时,以毫秒计--> 
	<minimum-connection-count>18000000</minimum-connection-count> 
	<!-- 如果发现了空闲的数据库连接.house keeper 将会用这个语句来测试. 
	      这个语句最好非常快的被执行.如果没有定义,测试过程将会被忽略。 --> 
	<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql> 

	<!-- 以上是常规配置 --> 

	<!-- 下面的是其余的一些配置,没有用过都是在网上搜到的,记录下来以备使用 --> 
	<!-- 
//house keeper 保留线程处于睡眠状态的最长时间,house keeper 的职责就是检查各个连接的状态, 
	//并判断是否需要销毁或者创建.默认为30秒,此处设置为40秒,以毫秒计。 
<proxool:house-keeping-sleep-time>40000</proxool:house-keeping-sleep-time> 
	//详细信息设置。 参数 bool 值 
<proxool:verbose>true</proxool:verbose> 
	//如果为true,那么每个被执行的SQL语句将会在执行期被log记录(DEBUG LEVEL). 
	//你也可以注册一个ConnectionListener (参看ProxoolFacade)得到这些信息 
        <proxool:trace>true</proxool:trace> 
        //它是一个逗号分割的信息片段.当一个SQL异常发生时,他的异常信息将与这个信息片段进行比较. 
         //如果在片段中存在,那么这个异常将被认为是个致命错误 (Fatal SQL Exception ). 
         //这种情况下,数据库连接将要被放弃.无论发生什么,这个异常将会被重掷以提供给消费者. 
         //用户最好自己配置一个不同的异常来抛出. 
        <proxool:fatal-sql-exception>Fatal error</proxool:fatal-sql-exception> 
        //连接池中可用的连接数量.如果当前的连接池中的连接少于这个数值. 
         //新的连接将被建立(假设没有超过最大可用数). 
         //例如.我们有3个活动连接2个可用连接, 而我们的prototype-count是4, 
           //那么数据库连接池将试图建立另外2个连接. 
         //这和 minimum-connection-count不同. 
         //minimum-connection-count把活动的连接也计算在内. 
         //prototype-count 是spare connections 的数量 
        <proxool:prototype-count>2</proxool:prototype-count> 
	--> 
	</proxool> 
</something-else-entirely> 

 

2.基于web的应用接着配置web.xml,添加管理员组建的配置

web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
	<servlet> 
	<servlet-name>ServletConfigurator</servlet-name> 
	<servlet-class> 
	org.logicalcobwebs.proxool.configuration.ServletConfigurator 
	</servlet-class> 
	<init-param> 
	<param-name>xmlFile</param-name> 
	<param-value>WEB-INF/proxool.xml</param-value> 
	</init-param> 
	<load-on-startup>0</load-on-startup> 
	</servlet> 

	<servlet> 
	<servlet-name>Admin</servlet-name> 
	<servlet-class> 
	org.logicalcobwebs.proxool.admin.servlet.AdminServlet 
	</servlet-class> 
	</servlet> 

	<servlet-mapping> 
	<servlet-name>Admin</servlet-name> 
	<url-pattern>/admin</url-pattern> 
	</servlet-mapping> 
	<welcome-file-list> 
	<welcome-file>index.jsp</welcome-file> 
	</welcome-file-list> 
</web-app> 


3.在index.jsp中使用jdbc连接数据库 

index.xml

<%@ page contentType="text/html;charset=UTF-8" import="java.sql.*" 
	pageEncoding="UTF-8"%> 
<html> 
	<head> 
	<title></title> 
	</head> 
	<body> 
	<% 
	Connection conn = null; 
	try { 
	Class.forName("org.logicalcobwebs.proxool.ProxoolDriver"); 
	conn = DriverManager.getConnection("proxool.test"); 
	out.println("打开一个连接-------------"); 
out.println(conn); 
	} catch (Exception e) { 
	out.println(e); 
	} finally { 
	try { 
	conn.close(); 
	} catch (Exception e) { 
	out.println(e); 
	} 
	} 
	%> 
	</body> 
</html> 


三、附录(----------------------------------properties方式没有测试过---------------------------------------)

也可以采用 properties, 在程序 PropertyConfigurator.configure("proxool.properties"); 文件设置

 

proxool.properties

WEB-INF/proxool.properties 
jdbc-0.proxool.alias=property-test 
jdbc-0.proxool.driver-url=jdbc:mysql://localhost:3306/test 
jdbc-0.proxool.driver-class=org.gjt.mm.mysql.Driver 
jdbc-0.user=root 
jdbc-0.password=password 
jdbc-0.proxool.maximum-connection-count=10 
jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值