<!-- JDBC驱动程序 -->
上面的一段配置,在c3p0和dbcp中,都是必需的,因为hibernate会根据上述的配置来生成connections,再交给c3p0或dbcp管理.但是,proxool则不能,虽然说服文档上说proxool也可以和hibernate结合,但我按照官方文档上的说明怎么配也出错,而且,到了 sun和hibernat有的官方网站上问了几天,都没有一个人回复。后来我只能让proxool自身来生成连接,这在下面再讲。
1 C3P0 http://www.mchange.com/projects/c3p0/index.html
只需在hibernate.cfg.xml中加入
还有在classespath中加入c3p0-0.8.4.5.jar
2 dbcp http://commons.apache.org/dbcp/
在hibernate.cfg.xml中加入
还有在classespath中加入commons-pool-1.2.jar 和commons-dbcp-1.2.1.jar.
3 proxool http://proxool.sourceforge.net/
在hibernate.cfg.xml中加入
然后,在和hibernate.cfg.xml同一个目录下,加一个ProxoolConf.xml文件,内容为
并在classespath中加入proxool-0.8.3.jar
结论:
由于在hibernate3.0中,已经不再支持dbcp了,hibernate的作者在hibernate.org中,明确指出在实践中发现dbcp有 BUG,在某些种情会产生很多空连接不能释放,所以抛弃了对dbcp的支持。我不知是否在dbcp最新版本中解决了这个问题,我以前在一个访问量不大的项目中用过dbcp,运行了一年多都没出现问题。不过在网上的确也有不少网友指出dbcp在大型的应用中会出现不稳定的情况。所以在真相未经证实的情况下,我觉得对dbcp持慎重的态度。
至于c3p0,有评论说它的算法不是最优的,而且,我在matrix中,见到有网友做了一个实验,在同一项目中分别用了几个常用的连接池,然后测试其性能,发现c3p0占用资源比较大,效率也不高。
所以,基于上述原因,我才花两晚的时间去研究proxool的配置,proxool不少行家推荐使用,而且暂时来说,是负面评价是最少的一个。在三星中也有项目是用proxool的。
分享到:
相关推荐
本文将深入探讨三个常用的数据库连接池:C3P0、DBCP和Proxool,以及如何结合Log4j2进行日志记录。 ### C3P0 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0的核心...
在Java开发中,数据库连接管理是一个关键环节,而c3p0和DBCP(Jakarta DBCP)是两个常见的数据库连接池实现。这两个库帮助开发者有效地管理和复用数据库连接,提高应用程序的性能和资源利用率。 **c3p0** 是一个...
`c3p0`和`DBCP`(BasicDataSource)是两种常见的数据库连接池实现,它们都用于管理和优化数据库连接的创建、分配和释放,从而提高应用的效率并减少资源消耗。在Java Web应用中,这些库通常以JAR包的形式被引入到项目...
c3p0和DBCP(BasicDataSource)是两个广泛应用的开源数据库连接池实现。 c3p0是一个完全开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0-0.9.5.2.jar包含了c3p0的运行时库,而...
c3p0和DBCP(Apache Commons DBCP)是两种常见的开源Java数据库连接池实现。本资源包提供了这两个连接池的jar包以及相关配置文件,还有MySQL的驱动包,使得开发者可以轻松地在项目中集成这些组件。 首先,`c3p0`是...
c3p0-0.9.5.1,commons-dbcp-1.4,commons-pool-1.3,druid-1.0.26,junit-4.7等jar包,可供选择,一般在后期做项目的时候都离不开,必定会用到一个连接池,c3p0、或者阿里巴巴的druid、或者dbcp,dbcp很少用
本主题将深入探讨两个流行的开源数据库连接池库——C3P0和DBCP,以及它们与JDBC(Java Database Connectivity)的关系。 首先,JDBC是Java平台的标准接口,用于与各种类型的数据库进行通信。它提供了对SQL语句的...
技术分享:配置Spring数据源c3p0与dbcp
"mysql-connector、c3p0、dbcp"这三个关键词涉及到的是Java与MySQL交互的库以及连接池技术。下面将详细讲解这些知识点。 首先,`mysql-connector`,全称为`mysql-connector-java`,是MySQL官方提供的Java驱动程序,...
这里我们主要讨论四个知名的Java数据库连接池库:C3P0、DBCP、DBUtils和Druid。 首先,C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0的主要特性包括连接测试、自动...
博文链接:https://pantao.iteye.com/blog/142280
本资源包包含三个主流的数据库连接池实现:c3p0、dbcp和Druid。它们各有特点,适应不同的应用场景。 1. **c3p0**:全称为Com形3P0,是由Miquel Arquero开发的一个开源的JDBC连接池。c3p0提供了完善的连接池管理和...
本篇将详细讲解使用JDBC进行数据库操作的不同方法,包括不使用连接池以及使用c3p0、dbcp和JNDI等连接池技术。 首先,不使用连接池的JDBC操作通常包含以下步骤: 1. 加载驱动:通过`Class.forName()`加载对应的...
本文将详细介绍三大常用的数据库连接池——C3P0、DBCP和Druid,以及它们的主要特点和使用方法。 1. C3P0 C3P0是一个开源的JDBC连接池,由Miquel Catalan开发。它提供了全面的JDBC API支持,包括JDBC3规范和JDBC2的...
[Database-support-package]-数据库需要用到的-c3p0/dbcp/dbUtils工具支持包 [Hibernate]利用Hibernate进行一对多的级联操作-Web实例 [Java_MySQL_jar]-数据库连接支持包 [JavaMail]-收发邮件支持包 [Java_MySQL_jar...
本资源涉及到的主要知识点包括`BaseDAO`设计模式、`JDBCUtil`工具类以及数据库连接池技术,如`C3P0`、`DBCP`和`Druid`。以下将对这些内容进行详细阐述。 首先,`BaseDAO`是一个设计模式,用于封装数据库的基本操作...
本篇将详细讲解两种常见的数据源实现:C3P0和DBCP,以及它们在Spring框架中的应用。 C3P0是一个开源的JDBC连接池,全称为 ComboPooledDataSource。它基于Apache的Jakarta Commons Pool对象池机制,同时结合了...