持久化的数据连接池管理proxool

    proxool是一款比C3P0、DBCP更加优秀的池化连接软件。

    1.通过页面的形式查看现在数据库连接池的性能参数的动态情况。

    2.与Hibernate/Spring的整合很方便。

    现在就针对上面提到1和2的说明做代码的说明。

    一、通过页面形式查看系统的数据池化管理的动态情况。

        1、 先建立一个web应用的工程

        2、下载proxool的最新jar文件。http://proxool.sourceforge.net/download.html 当前最新的版本是proxool-0.9.1,将下载好的文件解压,并把commons-logging.jar、proxool-0.9.1.jar和proxool-cglib.jar放到WEB-INF/lib下。

       3、配置web.xml文件

            代码清单:

              <!–制定proxool.xm文件配置–>

<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>1</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>
 <!– 配置受保护域,只有Tomcat管理员才能察看连接池的信息 –>
 <security-constraint>
  <web-resource-collection>
   <web-resource-name>proxool</web-resource-name>
   <url-pattern>/admin</url-pattern>
  </web-resource-collection>
  <auth-constraint>
   <role-name>manager</role-name>
  </auth-constraint>
 </security-constraint>
 <login-config>
  <auth-method>BASIC</auth-method>
  <realm-name>proxool manager Application</realm-name>
 </login-config>
 <security-role>
  <description>The role that is required to log in to the Manager Application</description>
  <role-name>manager</role-name>
 </security-role>
 <error-page>
  <error-code>401</error-code>
  <location>/401.jsp</location>
 </error-page>

 

5、在WEB-INF下创建文件proxool.xml文件。

代码清单如下

 

<ml version=”1.0″ encoding=”UTF-8″gt;

<something-else-entirely>

<proxool>

<alias>dbname</alias> <!–数据源的别名–>

<driver-url>jdbc:mysql://127.0.0.1/fmdb</driver-url><!–url连接串–>

<driver-class>com.mysql.jdbc.Driver</driver-class> <!–驱动类–>

<driver-properties>

<property name=”user” value=”root” /> <!–用户名–>

<property name=”password” value=”kingsoft” /><!–密码–>

</driver-properties>

<!–

最大连接数(默认5个),超过了这个连接数,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定

–>

<maximum-connection-count>100</maximum-connection-count>

<!–最小连接数(默认2个)–>

<minimum-connection-count>10</minimum-connection-count>

<!–proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁默认30秒–>

<house-keeping-sleep-time>90000</house-keeping-sleep-time>

<!–没有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受–>

<simultaneous-build-throttle>10</simultaneous-build-throttle>

<!–最少保持的空闲连接数(默认2个)–>

<prototype-count>5</prototype-count>

<!–在使用之前测试–>

<test-before-use>true</test-before-use>

</proxool>

</something-else-entirely>

 

       6、修改TOMCAT的tomcat-user.xml文件(添加用户角色)

       代码清单如下

<ml version=’1.0′ encoding=’utf-8’gt;
<tomcat-users>
  <role rolename=”manager”/>
  <user username=”tomcat” password=”123456″ roles=”manager”/>
</tomcat-users>

 

      二、proxool与Hibernate/Spring的整合

        在一的基础上修改几个配置文件:

      1、web.xml的修改:去掉所有的proxool的配置信息。

      2、删除掉proxool.xml文件,但是要将此文件中对proxool的配置信息摘抄出来,放在hibernate/spring的相应的配置文件的标签即可。(详细配置请看我后期的文章中的具体描述)

      3、tomcat的文件可以修改也还可不修改,问题不是主要的。

来源:wyit007

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2010年8月8日
下一篇 2010年8月9日

相关推荐