- 浏览: 697879 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (270)
- Ant Tool Script (12)
- XMLDigest (5)
- MyEclipse8.6 (1)
- RedHat (5)
- SVNVersionController (4)
- BatOperation (6)
- JspAndFaceWeb (66)
- javaSwing (18)
- PHP (12)
- J2SE (6)
- TestToolAndTestManual (12)
- C# (34)
- Java PatternDesign (20)
- Axis2AndWebService (5)
- ITLive (2)
- DBAndControl (10)
- C/C++ (8)
- Andriod (7)
- Python (7)
- JavaWork (16)
- Android-QA (1)
- Apache-Wicket (1)
- POI (1)
- JQuery (2)
- Struts2 (1)
- Flex&Flash (6)
- sdsdsd (0)
- 1212 (0)
最新评论
-
anayomin:
对九楼继续改进
public static <T> ...
Java List 分页 -
H4X0R:
来学习学习,赞一个
Aqua Data Studio 导出SQL -
yankai0219:
现在出现这个错误 Fatal error: Class 'PH ...
纯PHP搭建Apache+Eclipse+xDebug+PHPUnit+MakeGood -
yankai0219:
您好,我在搭建环境中提示PHPUnit_Framework_T ...
纯PHP搭建Apache+Eclipse+xDebug+PHPUnit+MakeGood -
wilsonchen:
chenhailong 写道wilsonchen 写道chen ...
C# RSA和Java RSA互通
大家都知道,现在假如要连接数据库,都要用到连接池
现在最优秀的,也是OpenSource的连接池,就数Proxool了,那我们就开始把
官网:
http://proxool.sourceforge.net/index.html
我自己写了一个连接池,很粗糙,但也能加深对连接池的理解:
package com.chenhailong; import com.chenhailong.exception.DBException; import com.mysql.jdbc.Connection; public interface ConnectionPool { public Connection getConnection() throws DBException; public void releaseConnection(Connection conn); }
package com.chenhailong; import java.sql.DriverManager; import java.util.Vector; import com.chenhailong.exception.DBException; import com.mysql.jdbc.Connection; /** * * @author Administrator * */ public class DBConnectionPool implements ConnectionPool { private static Vector<Connection> pool; private final int POOL_MAX_SIZE = 20; private static final String url = "jdbc:mysql://localhost:3306/test"; private static final String user = "root"; private static final String password = "****"; @Override public synchronized Connection getConnection() throws DBException { if (pool == null) { pool = new Vector<Connection>(); } Connection conn; if (pool.isEmpty()) { conn = createConnection(); } else { int last_idx = pool.size() - 1; conn = (Connection) pool.get(last_idx); pool.remove(pool.get(last_idx)); } return conn; } public static Connection createConnection() throws DBException { Connection conn = null; try { Class.forName("org.gjt.mm.mysql.Driver"); conn = (Connection) DriverManager .getConnection(url, user, password); System.out.println("Success to connect the mysql"); } catch (Exception e) { e.printStackTrace(); } return conn; } @Override public synchronized void releaseConnection(Connection conn) { if (pool.size() > POOL_MAX_SIZE) { try { conn.close(); } catch (Exception e) { e.printStackTrace(); } } else { pool.add(conn); } } }
package com.chenhailong.exception; public class DBException extends Exception { public DBException(){ } }
很简单,是把
我的当然比不上Proxool了
下面是关于Proxool的具体操作(如果有什么不明白的,请给我发站内信,我会常看)
/** * */ package com.chenhailong; import java.sql.Connection; /** * @author Administrator * */ public class Main { /** * @param args */ public static void main(String[] args) { Connection conn = PoolManager.getConnectionByPerpertiesUtil(); PoolManager.executeQuery(conn); Connection connXml = PoolManager.getConnectionByXMLUtil(); PoolManager.executeQuery(connXml); Connection connProperty = PoolManager.getConnectionByPropertyUtil(); PoolManager.executeQuery(connProperty); PoolManager.close(connXml); PoolManager.close(conn); PoolManager.close(connProperty); } }
package com.chenhailong; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; import org.logicalcobwebs.proxool.ProxoolException; import org.logicalcobwebs.proxool.ProxoolFacade; import org.logicalcobwebs.proxool.admin.SnapshotIF; import org.logicalcobwebs.proxool.configuration.JAXPConfigurator; import org.logicalcobwebs.proxool.configuration.PropertyConfigurator; /** * * @author chenhailong * 2011-8-31 * 下午5:12:07 */ public class PoolManager { private static int activeCount = 0; public PoolManager() { } public static Connection getConnectionByPerpertiesUtil() { Connection conn = null; try { Class.forName("org.logicalcobwebs.proxool.ProxoolDriver"); Properties pro = new Properties(); pro.setProperty("proxool.maximum-connection-count", "20"); pro.setProperty("proxool.house-keeping-test-sql", "select CURRENT_DATE"); pro.setProperty("user", "root"); pro.setProperty("password", "***"); String alias = "properties"; String driverClass = "org.gjt.mm.mysql.Driver"; String driverUrl = "jdbc:mysql://localhost:3306/test"; String url = "proxool." + alias + ":" + driverClass + ":" + driverUrl; conn = DriverManager.getConnection(url, pro); printSnapShot(alias); return conn; } catch (Exception ex) { ex.printStackTrace(); } return null; } public static Connection getConnectionByXMLUtil() { Connection conn = null; try { Class.forName("org.logicalcobwebs.proxool.ProxoolDriver"); JAXPConfigurator.configure("proxool.xml", false); conn = DriverManager.getConnection("proxool.xml"); printSnapShot("xml"); return conn; } catch (Exception ex) { ex.printStackTrace(); } return null; } public static Connection getConnectionByPropertyUtil() { Connection conn = null; try { Class.forName("org.logicalcobwebs.proxool.ProxoolDriver"); PropertyConfigurator.configure("proxool.properties"); conn = DriverManager.getConnection("proxool.property"); printSnapShot("property"); return conn; } catch (Exception ex) { ex.printStackTrace(); } return null; } public static void printSnapShot(String alias) throws ProxoolException { SnapshotIF snapshot = ProxoolFacade.getSnapshot(alias); int currentActiveCount = snapshot.getActiveConnectionCount(); int availableCount = snapshot.getAvailableConnectionCount(); int maxCount = snapshot.getMaximumConnectionCount(); if (activeCount != currentActiveCount) { System.out.println("Active count :" + currentActiveCount); System.out.println("Available count :" + availableCount); System.out.println("Max count :" + maxCount); } } public static void close(Connection conn) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } public static void executeQuery(Connection conn) { Statement stat = null; ResultSet rs = null; try { // test so not use the preparedStatement stat = conn.createStatement(); rs = stat.executeQuery("select * from test"); while (rs.next()) { String id = rs.getString(1); String name = rs.getString(2); String age = rs.getString(3); String sex = rs.getString(4); String message = id + "\t" + name + "\t" + age + "\t" + sex; System.out.println(message); } } catch (SQLException e) { e.printStackTrace(); } finally { try { stat.close(); rs.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
jdbc-0.proxool.alias=property jdbc-0.proxool.driver-url=jdbc:mysql://localhost:3306/test jdbc-0.proxool.driver-class=org.gjt.mm.mysql.Driver jdbc-0.user=root jdbc-0.password=*** jdbc-0.proxool.maximum-connection-count=20 jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE
<?xml version="1.0" encoding="UTF-8"?> <something-else-entirely> <proxool> <alias>xml</alias> <driver-url>jdbc:mysql://localhost:3306/test</driver-url> <driver-class>org.gjt.mm.mysql.Driver</driver-class> <driver-properties> <property name="user" value="root" /> <property name="password" value="***" /> </driver-properties> <maximum-connection-count>20</maximum-connection-count> <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql> </proxool> </something-else-entirely>
发表评论
-
2817955743
2014-11-01 19:47 02817955743 123456789 htt ... -
JQuery的替代品Zeptojs
2014-07-30 10:24 0Zepto的小巧已经不是JQuery的可以媲美的,Zepto ... -
121212
2014-01-30 11:04 0http://metroui.org.ua/example ... -
JS 操作Cookie,记录帐号信息
2013-11-25 16:49 1493嘻嘻,今天咱整点东西,如题 主页面和JS操作,已经在 ... -
How to install two tomcat in one computer
2013-10-28 11:31 1542Today,I get a problem,show in ... -
Jackson 双引号的问题
2013-08-28 15:57 3767当用执行下面的代码的时候 String json ... -
flex
2013-06-30 19:21 0<?xml version="1.0&qu ... -
iBatis简单实践
2013-06-18 10:29 1487今天我实践了下ibatis框架,感觉也不错,很简单。嘻嘻,大 ... -
Spring的长篇大论
2013-02-07 09:06 0很长时间了,时间过的真快啊,一晃3年过去了。3年我变了很多 ... -
JQuery的Flexigrid的API使用
2013-01-16 14:21 13501JQuery Flexigrid 是一个不错的table插 ... -
bacup
2013-01-16 06:06 0我备份了,怎么没有反应啊 http://www.micr ... -
Spring MVC and AJAX with JSON
2013-01-05 14:17 28551. maven 配置 <!-- Spr ... -
JQuery ajax use json communicate with server
2013-01-05 14:12 1246好久没写文章了,我也心痒痒的,嘿嘿。现在写一篇文章。 ... -
SpringMVC wizard简单示例
2012-12-28 17:02 0public class UserController ... -
get access time from tomcat log
2012-12-25 10:14 1164下面给出我得到tomcat的Access Time的方法 ... -
JSF简单实践
2012-11-21 12:03 967希望多了,破灭的机会就会更多,所以简简单单的希望,然后实现它, ... -
Extjs Template两个小例子
2012-11-15 09:40 1503今天用Extjs Template做了两个小例子嘿 代 ... -
Tomcat Romete Debug
2012-12-25 10:14 1023是我弟兄告诉我的。备忘录一下。 1,在Tom ... -
YUI
2012-10-29 15:05 0http://yuilibrary.com/forum/vie ... -
DBUnit的简单实践
2012-10-19 10:58 1410我不知道什么是失败,我也不知道失败后会是怎么样的天和地, ...
相关推荐
总之,"proxool连接池用户名密码加密"是一个重要的安全实践,通过加密数据库连接的凭证,我们可以提高系统的安全性,保护数据免受未经授权的访问。正确地配置和使用这个功能,可以确保在享受数据库连接池带来的性能...
Proxool连接池是数据库连接管理的一种解决方案,它允许应用程序高效地管理和复用数据库连接,以提高系统的性能和响应速度。下面将详细讲解Proxool连接池的使用方法及其核心概念。 1. **Proxool简介** Proxool是...
项目实用的proxool连接池配置文件,每个标签都有注释,可以直接拿来使用
本篇将详细介绍如何在Hibernate中配置Proxool连接池。 首先,我们需要在Spring的配置文件`applicationContext.xml`中设置SessionFactory Bean。SessionFactory是Hibernate的核心组件,它负责创建Session对象,而...
Proxool连接池使用方法 首先, 你要把下载 proxool 的 lib 下面所有的 jar 文件, 放到 WEB-INF/lib 下面, 另外, 把你的 jdbc driver 也放到相同的 lib,
-- 连接池的别名 --> <alias>DBPool</alias> - <!-- proxool只能管理由自己产生的连接 --> <driver-url>jdbc:sqlserver://localhost:1433;dataBaseName=books</driver-url> - <!-- JDBC驱动程序 --> ...
### Proxool连接池配置详解 #### 一、概述 Proxool是一个开源的轻量级Java数据库连接池实现,其主要目标是替代常见的数据库连接池解决方案,如C3P0或DBCP,并且提供了更加灵活和易于配置的特性。在实际应用中,...
在本压缩包中,包含的是与Proxool连接池相关的MySQL驱动jar包,这将有助于在Java应用程序中建立与MySQL数据库的连接。 首先,我们来深入理解一下Proxool连接池。Proxool的核心功能是创建一个池化的数据库连接集合,...
`proxool连接池jar包`是一个包含Proxool数据库连接池技术的软件包。Proxool作为源码开放的项目,源自著名的开源平台SourceForge,它为Java开发者提供了一个高效且易于管理的数据库连接池解决方案。数据库连接池在多...
在这个"ssh2简单案例"中,我们将探讨如何结合注解、Proxool连接池和SF4J日志记录来构建一个SSH2注册登录系统。 首先,SSH2在Java中的实现通常通过JSch库来完成。JSch允许开发者在Java程序中执行命令、传输文件以及...
标题 "Spring+Hibernate+Proxool连接池" 涉及到的是在Java Web开发中,如何使用Spring框架集成Hibernate ORM框架,并结合Proxool作为数据库连接池的技术实践。这通常是为了提高应用性能,有效管理和复用数据库连接,...
本文将详细介绍Proxool数据库连接池及其监控功能,通过一个实际的实例来展示其工作原理和使用方法。 Proxool是Apache软件基金会的一个开源项目,它提供了一个轻量级、高性能的数据库连接池解决方案。Proxool与其他...
Proxool连接池是数据库连接管理的一个开源工具,它提供了一种高效且灵活的方式来管理和复用数据库连接,以提升应用程序的性能和响应速度。在Java应用程序中,尤其是在高并发环境下,数据库连接池扮演着至关重要的...
**Proxool 连接池详解** Proxool 是一个高效、易用的数据库连接池,它通过提供中间代理层管理数据库连接,从而实现数据库连接的复用,提高应用程序的性能和效率。Proxool 的设计目标是为 Java 应用程序提供简单、...
**Hibernate Proxool连接池配置详解** 在Java应用程序中,数据库连接池是管理数据库连接的一种高效方式,它可以显著提升系统性能,减少数据库资源的浪费。本文将深入探讨Hibernate与Proxool连接池的配置,以及在...
"G2"可能是一个辅助类或者测试用例,可能包含了数据库操作的逻辑,比如执行SQL查询、事务处理等,以便展示在使用Proxool连接池时的正确操作方式。而"H"可能是另一个相关文件,可能是配置文件或者额外的代码部分,...
在这里,我们通过`dataSource`属性引用了上面配置的数据源,这样Hibernate就能使用Proxool连接池进行数据库操作。 5. 在`hibernateProperties`中,我们设置了`hibernate.dialect`为`MySQLDialect`,表示使用的是...
Spring2.5配置proxool连接池
本文将详细介绍如何在Struts2+Spring+Hibernate的环境中配置Proxool连接池。 首先,理解Proxool的工作原理。Proxool是一个基于池化的JDBC代理,它维护着一个数据库连接池,当应用需要访问数据库时,可以从池中获取...