今主流且稳定的数据源,也是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配置连接池大全 hibernate配置连接池大全
在Hibernate中配置Proxool连接池
hibernate配置数据库连接池的三种方法(数据库连接池的概念)
Hibernate 下配置连接池解决多连接的问题
hibernate配置连接池 hibernate配置连接池
hibernate连接池配置的三种方式。
hibernate 连接池配置详解,四种连接方式:第一种方案,Hibernate默认连接池;第二种方案是:C3P0;第三种方案是:dbcp;第四种方案是:Proxool (推荐)
配置Hibernate使用c3p0或Proxool连接池(2008-01-13 17:15:54)转载标签: 杂谈 1.Hibernate默认连接池 <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//...
Hibernate2和Hibernate3连接池配置.doc
二、默认情况下(即没有配置连接池的情况下),Hibernate会采用内建的连接池。但这个连接池性能不佳,且存在诸多BUG(笔者就曾在Mysql环境下被八小时连接悬空问题困扰过),因此官方也只是建议仅在开发环境下使用。 ...
创建hibernate的连接池及封装bean类的方式(图解)
NULL 博文链接:https://137459045.iteye.com/blog/1378543
二、默认情况下(即没有配置连接池的情况下),Hibernate会采用内建的连接池。但这个连接池性能不佳,且存在诸多BUG(笔者就曾在Mysql环境下被八小时连接悬空问题困扰过),因此官方也只是建议仅在开发环境下使用。 ...
Hibernate的三种连接池设置C3P0、Proxool和DBCP. 详细说明及配置方法 Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP.
Hibernate连接池的三种配置方式......
hibernate配置数据库连接池的三种方法.pdf
资源包括hibernate Sql server2005连接池配置源码,及sqlserverjdbc.jar jTDS3.jar jtds-1.2.jar ojdbc14.jar proxool-0.9.0RC3.jar 等jar包,希望能帮大家一些忙
hibernate的查询方式介绍和hibernate的批处理和连接池配置hibernate