使用并监控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等)

 

<?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类。
    下载的包中有相应的文档说明。可以参考以下代码

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

 

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访问得到监控结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值