proxool连接池的优点:

1.透明度:透明地将连接池添加到现有的JDBC驱动程序。

2.开源:我们的许可证允许您灵活地将其用于商业和其他开源产品。

3.标准:符合J2SE API,使您有信心开发标准。

4.控制:您可以监视数据库连接的性能并监听连接事件

5.易于使用:您可以轻松地使用JDBC API,XML或Java属性文件进行配置。

这里有用到两种数据库,一个是mysql,一个是hsqldb,需要用到的包一共有8个,分别是:

mysql驱动包:mysql-connector-java-5.1.43-bin.jar

hsql驱动包:hsqldb.jar

proxool连接池的包:proxool-0.9.1.jar,proxool-cglib.jar,cglib-nodep-2.1_3.jar,jarjar-0.6.jar

还有:commons-logging-1.0.4.jar,commons-logging-api-1.1.jar

用到的包有上面几个(有点多,去官网下载就好了

            //类配        
       try {
            Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
       Connection conn=DriverManager.getConnection("proxool.example:com.mysql.jdbc.Driver:jdbc:mysql://localhost:3306/test","root","123456");
System.out.println(conn); } catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} //xml配置 (无需配置web.xml要注意DriverManager.getConnection("proxool.ljg-xml")里面的参数必须是proxool.别名)
try {
JAXPConfigurator.configure(new InputSource(DBConfig.class.getResourceAsStream("/db.xml")), false);
Connection conn = DriverManager.getConnection("proxool.ljg-xml");
System.out.println(conn);
} catch (ProxoolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
     /*
      db.xml必须在src目录下(不在任何一个包中)
      代码如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- the proxool configuration can be embedded within your own application's.
Anything outside the "proxool" tag is ignored. -->
<something-else-entirely>
<proxool>
<alias>ljg-xml</alias>
<driver-url>jdbc:mysql://localhost:3306/test</driver-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="root"/>
<property name="password" value="2311664"/>
</driver-properties>
<maximum-connection-count>10</maximum-connection-count>
<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
</proxool>
</something-else-entirely>

    */

        //这是连接hsqldb的
     //启动hsqldb需要运行hsqldb.jar包下的两个文件:
     //1.运行org.hsqldb.server.Server
     //2.运行org.hsqldb.util.DatabaseManagerSwing
     //properties配置(无需配置web.xml要注意DriverManager.getConnection("proxool.ljg-properties")里面的参数必须是proxool.别名)
Properties pro=new Properties();
try {
pro.load(DBConfig.class.getResourceAsStream("/hsqldb.properties"));
PropertyConfigurator.configure(pro);
Connection conn=DriverManager.getConnection("proxool.hsqlljg-properties");
Statement st=conn.createStatement();
ResultSet rs=st.executeQuery("SELECT * FROM \"PUBLIC\".\"USERINFO\"");
System.out.println(conn);
while(rs.next()) {
System.out.println(rs.getString(1));
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ProxoolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
    /*
    同上
hsqldb.properties也要在src目录下
    代码如下:

jdbc-0.proxool.alias=hsqlljg-properties
jdbc-0.proxool.driver-url=jdbc:hsqldb:hsql://localhost/
jdbc-0.proxool.driver-class=org.hsqldb.jdbcDriver
jdbc-0.user=SA
jdbc-0.password=
jdbc-0.proxool.maximum-connection-count=10
jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE

url和驱动根据实际而定


    */ //这是mysql的,只需要把配置的驱动和url修改即可
Properties pro=new Properties();
try {
pro.load(DBConfig.class.getResourceAsStream("/db.properties"));
PropertyConfigurator.configure(pro);
Connection conn=DriverManager.getConnection("proxool.ljg-properties");
System.out.println(conn);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ProxoolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/*
db.properties配置文件信息如下:

jdbc-0.proxool.alias=ljg-properties
jdbc-0.proxool.driver-url=jdbc:mysql://localhost:3306/test
jdbc-0.proxool.driver-class=com.mysql.jdbc.Driver
jdbc-0.user=root
jdbc-0.password=2311664
jdbc-0.proxool.maximum-connection-count=10
jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE



*/

        //在类里写properties文件配置
try {
Properties info = new Properties();
info.setProperty("proxool.maximum-connection-count", "10");
info.setProperty("proxool.house-keeping-test-sql", "select CURRENT_DATE");
info.setProperty("user", "root");
info.setProperty("password", "2311664");
String alias = "ljg-properties";
String driverClass = "com.mysql.jdbc.Driver";
String driverUrl = "jdbc:mysql://localhost:3306/test";
String url = "proxool." + alias + ":" + driverClass + ":" + driverUrl;
ProxoolFacade.registerConnectionPool(url, info);
Connection conn=DriverManager.getConnection("proxool.ljg-properties");
System.out.println(conn);
} catch (ProxoolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

配置成功运行会输出像这么一句代码:

如果要配置管理页面只需在web.xml中添加如下代码:

<servlet>
<servlet-name>proxool</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>proxool</servlet-name>
<url-pattern>/admin</url-pattern>
</servlet-mapping> <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>

在lib下创建proxool.xml文件,代码如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- the proxool configuration can be embedded within your own application's.
Anything outside the "proxool" tag is ignored. -->
<something-else-entirely>
<proxool>
<alias>ljg-xml</alias>
<driver-url>jdbc:mysql://localhost:3306/test</driver-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="root"/>
<property name="password" value="2311664"/>
</driver-properties>
<maximum-connection-count>10</maximum-connection-count>
<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
</proxool>
</something-else-entirely>

配置完后在浏览器打开localhost:8080/myapp/admin 即可访问

使用proxool连接池配置教程的更多相关文章

  1. proxool连接池配置方法

    proxool.properties: jdbc-1.proxool.alias=test #jdbc-1.proxool.driver-class=com.mysql.jdbc.Driver #jd ...

  2. Hibernate 中 简便proxool连接池配置

    资源&文档 请百度云盘下载:http://pan.baidu.com/s/1hsmVVBu     提取码y966

  3. hibernate+mysql的连接池配置

    1:连接池的必知概念    首先,我们还是老套的讲讲连接池的基本概念,概念理解清楚了,我们也知道后面是怎么回事了. 以前我们程序连接数据库的时候,每一次连接数据库都要一个连接,用完后再释放.如果频繁的 ...

  4. 使用proxool 连接池:No suitable driver found for proxool

    使用proxool连接池时:报错误No suitable driver found for proxool.shide的原因: ①.WEB-INF目录下的lib中没有proxool连接池jar驱动包. ...

  5. MySql 8小时解决方案:proxool连接池

    最近做的项目用的mysql数据库,前天挂在服务器上,昨天早晨上班一来,同事就说API数据接口访问不了了,我马上mstsc登陆服务器看,报错了.马上重启tomcat,结果还能正常运行,当时没管,今天过来 ...

  6. Spring学习11-Spring使用proxool连接池 管理数据源

    Spring 一.Proxool连接池简介及其配置属性概述   Proxool是一种Java数据库连接池技术.是sourceforge下的一个开源项目,这个项目提供一个健壮.易用的连接池,最为关键的是 ...

  7. proxool 连接池

    今天配置proxool 连接池,发现可配置属性非常多,以前也只是用,没总结过,今天查了下网上的资料,总结一下 方便你我.其实网上很多英文资料都很全,网上很多人就是考翻译老外的文章赚些流量,其实也没啥意 ...

  8. proxool连接池参数解释

        数据库连接池概述: 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个 应用程序的伸缩性和健壮性,影响到程序的性能指标.数 ...

  9. Spring使用proxool连接池 管理数据源

    一.Proxool连接池简介及其配置属性概述 Proxool是一种Java数据库连接池技术.是sourceforge下的一个开源项目,这个项目提供一个健壮.易用的连接池,最为关键的是这个连接池提供监控 ...

随机推荐

  1. JavaScript中的坑--全局变量惹得祸

    js中变量的作用域及闭包的概念   概述 身为一名程序员,因为bug周末加班是必不可少的事情,当解决bug的时候,总有些bug是因为规范导致的,但是这些bug往往不好找,也就是"前人挖坑,后 ...

  2. 【干货】Chrome插件(扩展)开发全攻略(不点进来看看你肯定后悔)

    写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这个demo里面:https://github ...

  3. java 线程 理解 解析

    1 线程的概述 进程:正在运行的程序,负责了这个程序的内存分配,代表了内存中的执行区域. 线程:就是在一个进程中负者一个执行路径. 多线程:就是在一个进程中多个执行路径同时执行. 假象: 电脑上的程序 ...

  4. 解决QZ-SDK静态库libRPToolLib.a中avfoundation.o文件和kxMovie依赖的ffmpeg静态库libavdevice.a函数重复定义的问题

    解决QZ-SDK静态库libRPToolLib.a中avfoundation.o文件和kxMovie依赖的ffmpeg静态库libavdevice.a函数重复定义的问题 在原来项目中导入全志v3相机的 ...

  5. Java 9 揭秘(10. 模块API)

    Tips 做一个终身学习的人. 在本章节中,主要介绍以下内容: 什么是模块 API 如何在程序中表示模块和模块描述 如何读取程序中的模块描述 如何表示模块的版本 如何使用Module和ModuleDe ...

  6. 自定义七天签到View

    github传送车走你 https://github.com/guanhaoran/signin 因为这个View 是我很早之前写的,这些注释也是我今天刚想往github上传的时候 临时加的  有的注 ...

  7. python+selenium自动化测试环境安装

    因为自己安装自动化测试环境时,遇到过许多问题,自己整理了一下安装的步骤,感谢那些帮助过我的人. 1.安装python,我装的是3.5版本,网络上也有许多安装步骤,照着就可以了(其实一直下一步也行) 不 ...

  8. MYSQL的日志与备份还原

    一.错误日志 当数据库出现任何故障导致无法使用时,第一时间先去查看该日志 1.服务器启动关闭过程中的信息 2.服务器运行过程中的错误信息 日志存放路径,可以通过命令查看: 日志文件命名格式:host_ ...

  9. Ubuntu14.04设置开机自启动程序

    启动应用程序可以帮助我们选择开机启动项.但是在Ubuntu14.04通过Dash输入startup 找不到启动应用程序了,可以通过在控制台输入以下内容: gnome-session-propertie ...

  10. Spark SQL笔记——技术点汇总

    目录 概述 原理 组成 执行流程 性能 API 应用程序模板 通用读写方法 RDD转为DataFrame Parquet文件数据源 JSON文件数据源 Hive数据源 数据库JDBC数据源 DataF ...