男性生殖健康.ppt:Proxool连接池的使用

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 14:44:48
Proxool连接池的使用方法、心得[原创]

            公司里用的连接池都是自己写好了,封装起来的,做大型项目的时候,非常有用,但近段时间总是发现数据库连接过多,造成数据库连接压力过大,网站无法访问等严重后果,我们做的网站主要是用于移动公司的后台,经常会处理很大"群集任务",找了很长时间,发现是程序里有很多打开的连接没有关闭,放回到连接池里去,造成连接数不够的问题.

            后来上网上找了这个PROXOOL连接池插件,发现有自动KILL不活动的连接的功能.而且有VIEW方式查看连接情况,而且很多数据都是配置完成。决定在项目中试验一下。

          官方网址:http://proxool.sourceforge.net/    当前版本:proxool-0.9.0RC2

            1、下载proxool 地址:http://proxool.sourceforge.net
            2、解压缩proxool-0.9.0RC2.zip,拷贝lib/proxool-0.9.0RC2.jar到web-info/lib      拷贝jdbc驱动到web-info/lib
            3、在web-info下建立文件:proxool.xml


 
    Test
    jdbc:oracle:thin:@192.168.10.160:1521:orc1
    oracle.jdbc.driver.OracleDriver
   
     
     
   

    10
    select CURRENT_DATE
 
 

            4、在web.xml里新增如下:


      proxoolServletConfigurator
    org.logicalcobwebs.proxool.configuration.ServletConfigurator
    
       xmlFile
       WEB-INF/config/proxool.xml
    

     1
  



    Admin
      org.logicalcobwebs.proxool.admin.servlet.AdminServlet
  

  
    Admin
    /admin
  


 5、在调用数据库连接代码:
       Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
       Connection conn = DriverManager.getConnection("proxool.Develop");

     6、利用proxool监控工具查看数据库运行状态。地址:./admin


      以上配置是采用的XML文件方式,也可以采用properties配置方式:

proxool.alias=Test
proxool.driver-class=oracle.jdbc.driver.OracleDriver
proxool.driver-url=jdbc:oracle:thin:@192.168.10.160:1521:orcl
proxool.user=test
proxool.password=testpass
proxool.maximum-connection-count=20
proxool.prototype-count=4
proxool.house-keeping-test-sql=select sysdate from DUAL
proxool.verbose=true
proxool.statistics=10s,1m,1d
proxool.statistics-log-level=ERROR



ServletConfigurator
org.logicalcobwebs.proxool.configuration.ServletConfigurator
 
 
   propertyFile
   WEB-INF/config/Proxool.properties
 

 1



在调用数据库连接代码
   Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
   Connection conn = DriverManager.getConnection("proxool.Test");


还有一些配置属性:
maximum-connection-lifetime   最大连接生命周期  默认值:4小时
maximum-active-time:     最大活动时间   默认值:5分钟
maximum-connection-count   最大连接数    默认值:15个
minimum-connection-count   最小连接数    默认值:5个

在用admin调用的时候,可以查看这个WEB应用所有的连接数的状态,虽然这个插件可以把不活动的连接自动放到连接池里,但是如果连接数过多,而不及时KILL的话,对网站的连接是有很大的影响的,建议还是手工KILL。

还可以把这个给封闭成一个DB应用的类,下一篇就来写。