`

hibernate c3p0 数据库连接池参数详解

 
阅读更多

Hibernate自带的连接池算法相当不成熟。 它只是为了让你快些上手,并不适合用于产品系统或性能测试中。 

出于最佳性能和稳定性考虑你应该使用第三方的连接池。只需要用特定连接池的设置替换 hibernate.connection.pool_size即可。

这将关闭Hibernate自带的连接池。

 

例如,你可能会想用C3P0. 

C3P0是一个随Hibernate一同分发的开源的JDBC连接池, 它位于lib目录下。 

如果你设置了hibernate.c3p0.*相关的属性, Hibernate将使用 C3P0ConnectionProvider来缓存JDBC连接。

如果你更原意使用Proxool, 请参考发 行包中的hibernate.properties并到Hibernate网站获取更多的信息。

 

这是一个使用C3P0的 hibernate.properties样例文件(来自Hibernate包中etc目录下):

###########################

### C3P0 Connection Pool###

###########################

#hibernate.c3p0.max_size 2

#hibernate.c3p0.min_size 2

#hibernate.c3p0.timeout 5000

#hibernate.c3p0.max_statements 100

#hibernate.c3p0.idle_test_period 3000

#hibernate.c3p0.acquire_increment 2

#hibernate.c3p0.validate false

 

在hibernate.cfg.xml文件里面加入如下的配置:

 

<property name="hibernate.connection.provider_class">  

            org.hibernate.connection.C3P0ConnectionProvider  

        </property> 

 

<!-- 最大连接数 -->

<property name="hibernate.c3p0.max_size">20</property>

<!-- 最小连接数 -->

<property name="hibernate.c3p0.min_size">5</property>

<!-- 获得连接的超时时间,如果超过这个时间,会抛出异常,单位毫秒 -->

<property name="hibernate.c3p0.timeout">120</property>

<!-- 最大的PreparedStatement的数量 -->

<property name="hibernate.c3p0.max_statements">100</property>

<!-- 每隔120秒检查连接池里的空闲连接 ,单位是秒-->

<property name="hibernate.c3p0.idle_test_period">120</property>

<!-- 当连接池里面的连接用完的时候,C3P0一下获取的新的连接数 -->

<property name="hibernate.c3p0.acquire_increment">2</property>

<!-- 每次都验证连接是否可用 -->

<property name="hibernate.c3p0.validate">true</property>

 

完整示例如下(hibernate.properties):

hibernate.connection.driver_class = org.postgresql.Driver

hibernate.connection.url = jdbc:postgresql://localhost/mydatabase

hibernate.connection.username = myuser

hibernate.connection.password = secret

hibernate.c3p0.min_size=5

hibernate.c3p0.max_size=20

hibernate.c3p0.timeout=1800

hibernate.c3p0.max_statements=50

hibernate.dialect = org.hibernate.dialect.PostgreSQLDialec

 

转自:http://wenku.baidu.com/link?url=Ka_nirdqJDMDKES46kSGnIwbmn_tpF6wChaABFW3UPDOeVDs0MwS321PbuTl-vFpsqslyU1qvgQnGuv9E8r6IR6UIGUltqw5zJ7j6IPYTDa

分享到:
评论

相关推荐

    hibernate c3p0 数据库连接池参数详解.txt

    ### Hibernate C3P0 数据库连接池参数详解 在企业级应用开发中,数据库连接池技术扮演着极其重要的角色,它能显著提高系统的性能并优化资源管理。Hibernate 作为 Java 领域中最流行的 ORM(对象关系映射)框架之一...

    Hibernate+c3p0连接池SQLServer 2000

    为了解决上述问题,我们需要对Hibernate的配置文件进行适当调整,并正确设置c3p0连接池的相关参数。 **1. 添加依赖** 确保项目中包含了c3p0的jar包以及SQL Server 2000的JDBC驱动。 **2. 配置Hibernate** 在`...

    hibernate使用c3p0连接池的资料

    ### hibernate使用c3p0连接池的知识点详解 #### 一、Hibernate与C3P0连接池概述 - **Hibernate**: 是一个全功能的Java持久层框架,它提供了对象关系映射(ORM)功能,使得Java应用可以方便地与数据库进行交互。...

    c3p0 重新自动连接c3p0 重新自动连接c3p0 重新自动连接c3p0 重新自动连接

    在数据库连接池技术中,c3p0作为一个成熟的、功能强大的开源连接池解决方案,在Java应用开发领域得到了广泛的应用。尤其是在配合ORM框架如Hibernate时,c3p0能够提供高效的数据库连接管理和自动重连机制,有效提升...

    c3p0数据库缓冲池配置说明

    C3P0 是一个开源的 J2EE 连接池实现,它提供了一种简单的方法来管理和控制数据库连接资源,可以有效提高应用程序访问数据库的性能。在 Java 应用程序中,频繁地创建和关闭数据库连接会导致性能下降甚至系统崩溃。...

    hibernate 连接池配置详解

    在Hibernate 2.x版本中,默认使用的是一个简单的内部实现,而在Hibernate 3.x版本中则不再推荐使用默认连接池,因为其功能相比其他成熟的第三方连接池如C3P0、DBCP等较为薄弱。 #### 三、C3P0 连接池配置 C3P0是一...

    hibernate4.5 c3p0 依赖包

    这意味着在使用Hibernate进行数据库操作时,c3p0作为连接池是不可或缺的组件,确保了数据库连接的管理和复用,从而提高性能并减少资源消耗。 **知识点详解** 1. **Hibernate**: Hibernate是Java开发中广泛使用的...

    C3P0连接池配置.doc

    C3P0是一个开源的JDBC连接池,它与Hibernate一起发布,并提供了实现了JDBC3和JDBC2扩展规范的Connection和Statement池的DataSources对象。C3P0连接池的配置涉及到多个方面,用于优化数据库连接的创建、管理和维护。 ...

    c3p0数据连接池

    ### c3p0 数据连接池知识点详解 #### 定义 c3p0 是一个成熟且高性能的 JDBC 连接池实现,它最初是作为 Hibernate 的一部分被分发的,旨在为企业级 J2EE 应用提供高效的数据源管理方案。 #### 使用场景 - **兼容性*...

    c3p0连接池

    **c3p0连接池详解** c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0由Miquel Llopis创建,因其高效、稳定和易用的特点,被广泛应用于各种Java Web应用中。下面我们...

    Hibernate2和Hibernate3连接池配置.doc

    本文将详细讲解Hibernate2和Hibernate3中如何配置连接池,以及官方推荐的C3P0、Proxool和DBCP等连接池的使用。 首先,我们需要了解的是,Hibernate2和Hibernate3对连接池的支持有所不同。在Hibernate2中,Apache的...

    HIbernate连接池配置总结基于第三方c3p0和proxool

    为了确保连接池的健康运行,可以启用连接池的监控和诊断功能,比如C3P0提供了日志输出和监控网页,便于查看连接池的状态,及时发现并解决问题。 总的来说,选择和配置适合的Hibernate连接池是优化数据库性能的关键...

    Hibernate3.2连接池

    【Hibernate 连接池详解】 在Java开发中,尤其是在企业级应用中,为了提高数据库连接的效率和资源利用率,通常会使用连接池技术。Hibernate,作为一个流行的对象关系映射(ORM)框架,提供了多种连接池的集成方式。...

    c3p0-0.9.2-pre1.bin.zip

    《c3p0连接池详解及其在Hibernate中的应用》 c3p0连接池,全称为com.mchange.v2.c3p0.ComboPooledDataSource,是一款高效、强大的开源数据库连接池组件。作为Java应用程序中数据库连接管理的重要工具,c3p0能够有效...

    c3p0-0.9.5.2

    **c3p0-0.9.5.2:数据库连接池详解** c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0由Mchange公司开发,版本号0.9.5.2是其一个稳定版本,提供了对Java应用程序...

    hibernate连接池配置

    在Hibernate中,官方推荐的连接池有C3P0、Proxool和DBCP。 1. **Apache DBCP连接池**: - 在Hibernate 2中,DBCP是官方推荐的连接池之一,但在Hibernate 3及更高版本中,由于存在缺陷,不再推荐使用。如果在...

Global site tag (gtag.js) - Google Analytics