`
pengwei841221
  • 浏览: 72189 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Hibernate - 配置连接池

阅读更多

今主流且稳定的数据源,也是Hibernate支持的第三方连接池产品:C3P0,Proxool

Hibernate自带的连接池不稳定,有BUG;缺乏容错能力和大批量响应

 

C3P0

Hibernate中的配置信息:

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">


<hibernate-configuration>
	<session-factory>
		... ...        
        <!-- 使用C3P0连接池 -->
        <!--在连接池中可用数据库连接的最小数目-->
        <property name="c3p0.min_size">5</property> 
        <!--在连接池中所有数据库连接的最大数目-->
		<property name="c3p0.max_size">30</property> 
		<!-- 设定数据库连接的超时时间-->
		<property name="c3p0.time_out">1800</property> 
		<!--可以被缓存的PreparedStatement的最大数目-->
		<property name="c3p0.max_statement">50</property> 
        
		... ...		
               	</session-factory>
</hibernate-configuration>

 

Proxool

第一步,配置单独的连接文件ProxoolConf.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!-- the proxool configuration can be embedded within your own application's. 
	Anything outside the "proxool" tag is ignored. -->

<something-else-entirely>
	<proxool>
		<!-- 连接池的别名可以随便写,但注意的是后面在hibernate部分要对应 -->
		<alias>weiPool</alias>

		<!--proxool只能管理由自己产生的连接 -->
		<driver-url>jdbc:mysql://192.168.235.26:3306/mysql</driver-url>
		<driver-class> com.mysql.jdbc.Driver </driver-class>
		<driver-properties>
			<property name="user" value="root" />
			<property name="password" value="mysql" />
		</driver-properties>

		<!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁 -->
		<house-keeping-sleep-time>90000</house-keeping-sleep-time>

		<!--指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受 -->
		<maximum-new-connections>20</maximum-new-connections>

		<!-- 最少保持的空闲连接数 -->
		<prototype-count>5</prototype-count>

		<!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定 -->
		<maximum-connection-count>100</maximum-connection-count>

		<!-- 最小连接数 -->
		<minimum-connection-count>10</minimum-connection-count>
	</proxool>

</something-else-entirely>

第二步,将上面单独配置的Proxoolcofg.xml应用到Hibernate中:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">


<hibernate-configuration>
	<session-factory>
	... ...
        
        <!-- 定义Proxool数据库连接池 -->
        <!--这个名字要和上面XML文件中的别名要对应啊-->
        <property name="proxool.pool_alias">weiPool</property> 
        <!--这个你刚才上面建立的XML文件的名字-->
		<property name="proxool.xml">ProxoolConf.xml</property> 
		<property name="connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
        
		... ...
	</session-factory>
</hibernate-configuration>

 

分享到:
评论

相关推荐

    hibernate-release-5.0.7.Final的所有jar包

    5. **hibernate-c3p0**和**hibernate-ehcache**: 这两个是连接池和缓存服务的提供者,分别对应C3P0和Ehcache。它们用于优化数据库连接的获取和释放,以及缓存数据,提高性能。 6. **hibernate-commons-annotations*...

    Hibernate几种连接池的比较

    --是否启用C3P0连接池--&gt; &lt;property name="c3p0.acquireIncrement"&gt;5&lt;/property&gt; &lt;!--初始化连接池大小--&gt; &lt;property name="c3p0.minSize"&gt;5&lt;/property&gt; &lt;!--最大连接池大小--&gt; &lt;property name="c3p0.maxSize"&gt;20...

    在Hibernate中配置Proxool连接池

    在上述配置中,我们通过`hibernate.proxool.properties`指定了Proxool的配置文件路径,`hibernate.proxool.pool_alias`设置了连接池的别名,这个别名需要与Proxool配置文件中的alias一致。 接下来,我们需要创建...

    hibernate-jpa-2.1-api-1.0.0.final.jar.zip

    - **连接池**: 配置合适的连接池,如HikariCP或C3P0,可以有效管理数据库连接,减少资源消耗。 总的来说,`hibernate-jpa-2.1-api-1.0.0.final.jar`为开发者提供了丰富的JPA 2.1特性的实现,使得在Java项目中使用...

    hibernate配置连接池大全

    Hibernate通过DataSource接口与连接池进行交互,配置连接池主要是配置Hibernate的`hibernate.c3p0`或`hibernate.connection.provider_class`等相关属性,选择合适的连接池实现,如C3P0、DBCP、Druid、HikariCP等。...

    hibernate配置连接池整理

    **标题:“Hibernate配置连接池整理”** 在Java开发中,数据访问层的性能优化往往离不开高效的数据连接管理,而连接池就是实现这一目标的关键技术。Hibernate作为一款强大的对象关系映射(ORM)框架,它提供了与...

    hibernate配置数据库连接池的三种方法

    数据库连接池是应用程序管理和维护数据库...总的来说,合理配置和使用数据库连接池是优化Hibernate应用性能的关键步骤之一,它有助于提升系统整体的运行效率,减少资源浪费,同时也便于监控和管理数据库连接的状态。

    Hibernate与常用连接池的配置

    -- 配置连接池 --&gt; &lt;!-- 更换为对应的连接池实现 --&gt; &lt;property name="hibernate.connection.pool_size"&gt;10 &lt;property name="hibernate.c3p0.min_size"&gt;5 &lt;property name="hibernate.c3p0.max_size"&gt;20 ... ...

    hibernate-release-5.0.0.Final(1).zip

    4. 数据库连接池集成:内置了HikariCP作为默认的连接池,提供更快、更稳定的数据库连接管理。 5. 其他改进:包括对JDBC 4.2的兼容,以及对Java 8日期时间API的支持等。 三、核心概念 1. 映射配置:通过Hibernate的...

    hibernate-annotations-3.4.0.GA

    5. 性能调优:根据项目需求调整缓存策略、连接池配置等,提升系统性能。 总结,Hibernate Annotations 3.4.0.GA版本在提供便利的同时,也带来了更多灵活性和可扩展性。理解并熟练掌握这些注解和特性,能够帮助...

    数据库连接池以及hibernate对各种连接池的整合

    2. **默认连接池**:未配置连接池时,Hibernate会使用内置的连接池,但其性能较差,只适合开发环境。 3. **命名空间变化**:不同Hibernate版本中,连接池提供类的全限定名可能不同,如C3P0在Hibernate 2和3中的配置...

    hibernate-release-4.2.4.Final.zip

    在Hibernate中,JAR包包含了框架的实现和库,如核心API、持久化引擎、C3P0连接池等。 5. **Eclipse插件**:Eclipse是一个流行的Java集成开发环境(IDE),Hibernate为Eclipse提供了插件支持,使得开发者可以直接在...

    hibernate-release-5.3.2.Final

    1. 性能优化:5.3.2.Final版本在性能方面进行了大量优化,包括查询缓存、二级缓存策略以及连接池管理等,提高了数据处理速度和资源利用效率。 2. JPA 2.2支持:该版本全面支持Java Persistence API 2.2规范,引入了...

    Hibernate2和Hibernate3连接池配置.doc

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

    hibernate 连接池配置详解

    在使用Hibernate进行数据库操作时,合理配置连接池是非常重要的一步。连接池可以帮助我们更高效地管理数据库连接资源,避免频繁创建与销毁数据库连接带来的性能开销。Hibernate支持多种连接池方案,主要包括:默认...

    创建hibernate的连接池及封装bean类的方式(图解)

    接下来,需要配置Hibernate以使用Oracle数据库和连接池。这通常通过`hibernate.cfg.xml`或`application.properties`来完成。 **示例:hibernate.cfg.xml** ```xml &lt;!DOCTYPE hibernate-configuration PUBLIC "-//...

    hibernate-distribution-3.3.2.GA-dist

    在实际项目中,开发者需要根据需求选择合适的配置,比如缓存策略、连接池、数据库方言等,以达到最佳的性能和稳定性。同时,理解和熟练运用Hibernate的异常体系、事务管理以及查询优化,也是提升开发效率的关键。 ...

    hibernate 配置连接池的三种方法

    以下是对Hibernate配置连接池的三种常见方法的详细说明: 1. **C3P0连接池配置** C3P0是一个开源的JDBC连接池,适用于Hibernate。配置C3P0连接池主要涉及在`hibernate.cfg.xml`中添加相应的属性。例如: ```xml ...

    hibernate-src.zip

    Hibernate可以通过这些模块与其他连接池如C3P0或内置的连接池配合使用,提高数据库连接的复用率,减少数据库连接的创建和释放带来的开销。 4. **hibernate-tools**:提供了代码生成和逆向工程的功能,可以帮助...

    Struts-Hibernate-Spring推荐的最优组合配置

    - 使用连接池管理数据库连接,如C3P0或HikariCP,提高数据库操作效率。 - 配置合理的SessionFactory参数,如批处理大小,以优化数据库操作。 - 对频繁的数据库操作进行SQL优化,避免全表扫描和索引失效。 6. **...

Global site tag (gtag.js) - Google Analytics