<
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 >
& 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>
<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>
<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。我就是重写了这个源码。才解决了这个乱码问题。可能还有其他办法:只需简单的该一个方法就可以了。
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>换成你改写的那个类。
<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。我就是重写了这个源码。才解决了这个乱码问题。可能还有其他办法:只需简单的该一个方法就可以了。
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>换成你改写的那个类。