proxool在web环境中的使用

简介

Proxool连接池是sourceforge下的一个开源项目,这个项目提供一个健壮、易用的连接池,最为关键的是这个连接池提供监控的功能,方便易用,便于发现连接泄漏的情况。开源项目地址是:http://proxool.sourceforge.net/

Proxool提供了很多配置属性,其属性意义如下,当然还是建议直接查看官方文档http://proxool.sourceforge.net/properties.html

目录:

  1. 配置Proxool.xml

  2. 配置web.xml

  3. 获取连接

    1.配置Proxool.xml

<?xml version="1.0" encoding="utf-8"?>
<something-else-entirely>
  <proxool>

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

    <!-- 数据库连接信息 -->
<driver-url>jdbc:mysql://localhost:3306/zz</driver-url> <driver-class>com.mysql.jdbc.Driver </driver-class> <driver-properties>
<property name="user" value="root"/>
<property name="password" value="123123"/>
<property name="useUnicode" value="true"/> <!-- 使用unicode字符编码集 -->
<property name="characterEncoding" value="utf-8"/> <!-- 字符编码为utf-8 -->
</driver-properties>
    <!-- 最大连接数 -->
<maximum-connection-count>100</maximum-connection-count> <!-- 最小连接数 -->
<minimum-connection-count>10</minimum-connection-count>
    <!-- 最小增量 -->
<simultaneous-build-throttle>10</simultaneous-build-throttle> <!-- 定期巡检时间(毫秒) -->
<house-keeping-sleep-time>90000</house-keeping-sleep-time> <prototype-count>5</prototype-count>
    <!-- 使用前检测 -->
<test-before-use>true</test-before-use> <!--这是MySQL的写法,各个数据库有差异-->
    <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql> 
<!--这是Oracle的写法,各个数据库有差异-->
     <house-keeping-test-sql>select sysdate from dual</house-keeping-test-sql>  
  </proxool>

</something-else-entirely>

2.配置web.xml

 <servlet>
<servlet-name>ServletConfigurator</servlet-name>
<servlet-class>
org.logicalcobwebs.proxool.configuration.ServletConfigurator
</servlet-class>
<init-param>
<param-name>xmlFile</param-name>
<!--proxool.xml配置文件所在的位置-->
<param-value>WEB-INF/proxool.xml</param-value>
      </init-param>
<load-on-startup>1</load-on-startup>
</servlet>                3.获取连接
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; /**
* @author ctd
*
*/
public class DBUtils { private static DBUtils me=new DBUtils(); private DBUtils() {} public static DBUtils getInstance()
{
return me;
} /**
* 获取数据库连接
* @return
*/
public Connection getConn()
{ Connection conn=null; try {
//查看类路径中是否存在这个驱动入口类
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
conn=DriverManager.getConnection("proxool.dbname");//proxool.数据库别名 } catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} return conn; } /**
* 释放数据库资源
* @param conn
* @param pstmt
* @param rset
*/
public void ReleaseRes(Connection conn,PreparedStatement pstmt,ResultSet rset)
{
try{
if(rset!=null) rset.close();
if(pstmt!=null) pstmt.close();
if(conn!=null) conn.close();
}catch(SQLException e)
{
e.printStackTrace();
}
}
}

 

最新文章

  1. 浅谈命令查询职责分离(CQRS)模式
  2. 【转】【C#】迭代器
  3. 帝国CMS列表模板页面内容截取
  4. Java 获取各时区时间,获取当前时间到格林威治时间1970年01月01日00时00分00秒的秒数
  5. php有三种工作模式
  6. Android开发自学笔记(基于Android Studio1.3.1)—1.环境搭建(转)
  7. PyQt QListWidget修改列表项item的行高
  8. 强连通分量&amp;hdu_1269&amp;Codeforce 369D
  9. SublimeText 自带格式化代码功能
  10. react 路由导航栏 withRouter
  11. Learning-Python【24】:面向对象之组合
  12. 编译与解释(java)
  13. 嵌入式Linux内时区配置
  14. centos 编译lantrn
  15. Maven install报MojoFailureException
  16. WebForm - 文本框回车事件
  17. mysql 常用linux命令
  18. ny225 小明求素数积
  19. 大聊Python----进程和线程
  20. django用户认证系统——自定义认证后台8

热门文章

  1. 20150825 C# 调用带参数的存储过程 模板
  2. Reflection实现通用增删改
  3. AJAX文档
  4. 2016年12月4日 星期日 --出埃及记 Exodus 20:25
  5. python学习笔记五 模块上(基础篇)
  6. easyui表单插件-包括日期时控件-列表
  7. MVC系列之二 Model层细解
  8. Python3基础 逻辑与 and
  9. BZOJ 2666: [cqoi2012]组装
  10. php文本里 php和html代码谁先执行谁啊