<bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource"> <property name="driver"> <value>com.mysql.jdbc.Driver</value> </property> <property name="driverUrl"> <value>jdbc:mysql://192.168.3.94:3306/JhGroup?user=root&password=123456 &useUnicode=true&characterEncoding=GBK</value> </property> <property name="user"> <value></value> </property> <property name="password"> <value></value> </property> <!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回 收,超时的销毁 (默认30秒)--> <property name="houseKeepingSleepTime"> <value>90000</value> </property> <!-- 最少保持的空闲连接数 (默认5个)--> <property name="prototypeCount"> <value>5</value> </property> <!-- 最大连接数 (默认15个)--> <property name="maximumConnectionCount"> <value>15</value> </property> <!-- 最小连接数 (默认5个) --> <property name="minimumConnectionCount"> <value>5</value> </property> </bean>
注:
1、用户名及密码写在 url 中;
2、在以下属性中用户名及密码可不写,但该属性必须存在。
1、用户名及密码写在 url 中;
2、在以下属性中用户名及密码可不写,但该属性必须存在。
<property name="user"> <value></value> </property> <property name="password"> <value></value> </property>
**********************************************************************
前几天自己搭建了一个做项目,使用的是spring1.2的框架,后来顺便配置了proxool数据源,都说这个数据源比较好,所以我也来试试。如果有朋友觉得不对的地方,我们可以一起讨论,没有试过的朋友可以试试,我测试过,这样的配置可以使用,不过仅限于测试状态。
首先到网上下载了proxool程序包:
官方网址:
http://proxool.sourceforge.net/ 我使用的是0.9版本的.解压缩,放到lib目录下就可以了。
具体的spring的配置文件如下:
绿色的部分表示spring框架中的PropertyPlaceholderConfigurer类读取一个context.properties文件中的数据,并且将值取出来放到xml文件对应的位置上。相信大家都能看懂。呵呵呵。文件中黄色的部分就是数据源的配置内容了。
proxool.driver=oracle.jdbc.driver.OracleDriver 驱动的名字,我用的是oracle
proxool.username=scott 用户名(proxool没有使用,但是不能没有)
proxool.password=tiger 密码(proxool没有使用,但是不能没有)
proxool.url=jdbc:oracle:thin:scott/tiger@192.168.112.252:1521:orcl url连接串,这个必须确定用户名和密码
proxool.alias=test 数据源的别名
proxool.houseKeepingSleepTime=30000 proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁 默认30秒)
proxool.prototypeCount=2 最少保持的空闲连接数 (默认2个)
proxool.maximumConnectionCount=5 最大连接数 (默认5个)
proxool.minimumConnectionCount=2 最小连接数 (默认2个)
proxool.trace=false
proxool.verbose=true
///
<beans default-autowire="byName" default-lazy-init="false" default-dependency-check="none"> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location"> <value>/WEB-INF/context.properties</value> </property> </bean> <bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource"> <property name="driver"> <value>${proxool.driver}</value> </property> <property name="driverUrl"> <value>${proxool.url}</value> </property> <property name="user"> <value>${proxool.username}</value> </property> <property name="password"> <value>${proxool.password}</value> </property> <property name="alias"> <value>${proxool.alias}</value> </property> <property name="houseKeepingSleepTime"> <value>${proxool.houseKeepingSleepTime}</value> </property> <property name="prototypeCount"> <value>${proxool.prototypeCount}</value> </property> <property name="maximumConnectionCount"> <value>${proxool.maximumConnectionCount}</value> </property> <property name="minimumConnectionCount"> <value>${proxool.minimumConnectionCount}</value> </property> <property name="trace"> <value>${proxool.trace}</value> </property> <property name="verbose"> <value>${proxool.verbose}</value> </property> </bean> </beans>
************************************************************
如果你想监控数据库连接池的连接情况,可以简单的配置一下就可以了,因为大部分功能源码中都已写好,我们用是只需简单的配置。
<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>
如果访问的话,可能有点问题,会报ISO-8859-1的问题。我们一般用的是utf-8,gbk2312.最好的解决办法就是重写源码中的AdminServlet
.java。我就是重写了这个源码。才解决了这个乱码问题。可能还有其他办法:只需简单的该一个方法就可以了。
.java。我就是重写了这个源码。才解决了这个乱码问题。可能还有其他办法:只需简单的该一个方法就可以了。
private void printDefinitionEntry(ServletOutputStream out, String name, String value) throws IOException {
out.println(" <tr>");
out.print(" <td width=\"200\" valign=\"top\" style=\"" + STYLE_CAPTION + "\">");
out.print(name);
out.println("</td>");
if (value != null) {
out.print(" <td style=\"" + STYLE_DATA + "\">");
out.print(new String(value.getBytes("ISO-8859-1"),"utf-8"));
} else {
out.print(" <td style=\"" + STYLE_NO_DATA + "\">off");
}
out.print("</td>");
out.println(" </tr>");
}
上面红色的部分就是我改的部分,然后把web.xml中的
<servlet-class> com.jack.servlet.AdminServlet </servlet-class>中<servlet-class>换成你改写的那个类。