读书人

应用并监控proxool连接池

发布时间: 2013-04-26 16:27:53 作者: rapoo

使用并监控proxool连接池

?proxool是一个强大的connection?pooling项目,?兼容于?jdk?1.3?以及?1.4。也已经实现了监控,?纪录等等的功能,?对于一个有限制connection数量,?及注重performation的项目来说,?是一套非常完整的解决方案。

?

?

下载地址:http://sourceforge.net/projects/proxool/?

?

首先,?你要把下载proxool?的?lib下面所有的jar文件,?放到WEB-INF/lib下面,?另外,?把你的jdbc?driver也放到相同的lib。

1、新建WEB-INF/proxool.xml配置连接池属性,(proxool支持多配置方式如property,javabean等)

public  Connection getConenctionFromProxool() {        Connection conn = null ;         try  {            Class.forName( "org.logicalcobwebs.proxool.ProxoolDriver " );            conn = DriverManager.getConnection( " proxool.mysql " );             if (conn == null ) {                log.info( " 获取连接失败 " );            } else  {                log.info( " 获得连接成功 " );            }        } catch (Exception e) {            log.error(e.toString());        }         return  conn;    } 

?

?

?

?

<?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>mysql</alias>    <driver-url>jdbc:mysql://127.0.0.1:3306/test</driver-url>    <driver-class>com.mysql.jdbc.Driver</driver-class>    <driver-properties>       <property name="user" value="root"/>       <property name="password" value="root"/>    </driver-properties>    <!--自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁 -->     <house-keeping-sleep-time>6000</house-keeping-sleep-time>       <!--最少保持的空闲连接数 -->    <prototype-count>5</prototype-count>         <!--允许最大连接数,超过了这个连接,再有请求时,就排在队列中 -->          <maximum-connection-count>100</maximum-connection-count>   </proxool></something-else-entirely>

?

2、在web.xml中配置读取proxool.xml,这个相当于程序中使用

??? JAXPConfigurator.configure("proxool.xml",false)
??? 在web.xml文件中添加以下内容:

   <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>

?3、获取连接参考org.logicalcobwebs.proxool.examples.Simple类。
??? 下载的包中有相应的文档说明。可以参考以下代码

?

4、下面是监控方法:
??? web.xml中配置Admin servlet,Admin 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>

??

?? 用http://localhots/web-name/Admin访问得到监控结果。

读书人网 >编程

热点推荐