这篇文章给大家分享的是有关冬眠连接池的配置方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
在休眠3.0中,已经不再支持数据库连接池了冬眠的作者在Hibernate.org中,明确指出在实践中发现数据库连接池有BUG,在某些种情会产生很多空连接不能释放,所以抛弃了对数据库连接池的支持。
一、Hibernate 连接池:C3P0 配置
?xmlversion='1.0 '编码='UTF-8 '?doctype Hibernate-配置公共'-//Hibernate/Hibernate配置dtd 3.0//EN ' ' http://Hibernate。SourceForge。net/Hibernate-配置-3.0。dtd ' Hibernate-配置会话-工厂!-配置事务实现方式-property name=' transaction。工厂类组织。冬眠。交易。JDBC交易工厂/物业!-配置JDBC里一批的大小-房产名称=' JDBC。batch _ size ' 50/property属性名称=' cache。使用_ second _ level _ cache ' false/属性!-配置线程安全的会话属性名=' current _ session _ context _ class '线程/属性!-显示SQL-属性名称=' show _ SQL ' true/属性属性名称=' format _ SQL ' true/属性!-配置数据库方言-属性名称=“语音”组织。冬眠。声音。甲骨文9方言/property!-配置数据库连接-属性名=' connection。' driver _ class ' Oracle。JDBC。司机。oracledriver/property name='连接。username ' 0804/property property name='连接。密码' 0804/属性名='连接。URL ' JDBC:甲骨文:瘦:@ 192。168 .0 .200:1521:orcl/property!-配置连接池-物业名称=' C3 P0。max _ size ' 2/属性属性名称=' C3 P0。min _ size ' 2/属性属性名称=' C3 P0。超时' 5000/物业物业名称=' C3 P0。max _ statements ' 100/属性lt
;property name="c3p0.idle_test_period">3000</property> <property name="c3p0.acquire_increment">2</property> <property name="c3p0.validate">false</property> <!-- 指定Hibernate管理的映射文件 --> <mapping resource="com/ket/ruan/so/entity/User.hbm.xml"/> <mapping resource="com/ket/ruan/so/entity/Product.hbm.xml"/> </session-factory> </Hibernate-configuration>
二、Hibernate 连接池:使用proxool
<Hibernate-configuration> <session-factory> <property name="show_sql">true</property> <property name="dialect"> org.Hibernate.dialect.MySQLDialect </property> <!-- 配置proxool属性 --> <!--- 使用proxoolConf.xml中定义的别名 --> <property name="proxool.pool_alias">pool1</property> <!-- 指定使用的proxoolConf文件的位置(这里在SRC下)--> <property name="proxool.xml">ProxoolConf.xml</property> <property name="connection.provider_class"> org.Hibernate.connection.ProxoolConnectionProvider </property> .... <!-- 指定Hibernate管理的映射文件 --> <mapping resource="com/ket/ruan/so/entity/User.hbm.xml"/> .... </Hibernate-configuration>
1.ProxoolConf.xml:xml文件放在同级目录中,需要 proxool-0.8.3.jar。
<?xml version="1.0" encoding="gb2312"?> <something-else-entirely> <proxool> <alias>pool1</alias> <driver-url> jdbc:mysql://tpdb:3306/tpdb </driver-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <driver-properties> <property name="user" value="username"/> <property name="password" value="password"/> <property name="schema" value="tpdb"/> <!-- ???--> <!-- 自动重连 --> <property name="autoReconnect" value="true"/> </driver-properties> <!-- proxool自动侦察各个连接状态的时间间隔(毫秒), 侦察到空闲的连接就马上回收,超时的销毁--> <house-keeping-sleep-time>90000</house-keeping-sleep-time> <!-- 指因未有空闲连接可以分配而在队列中等候的***请求数,超过这个请求数的 用户连接就不会被接受(正式库10,测试库1)--> <maximum-new-connections>10</maximum-new-connections> <!-- 最少保持的空闲连接数(正式库10,测试库1)--> <prototype-count>10</prototype-count> <!-- 连接池允许的***连接数(正式库700,测试库10)--> <maximum-connection-count>700</maximum-connection-count> <!-- 连接池开启的最小连接数(正式库350,测试库5)--> <minimum-connection-count>350</minimum-connection-count> <!-- 一个活动连接的最长时间15分钟,单位毫秒 --> <maximum-active-time>900000</maximum-active-time> <!-- 一个连接的最长活动时间4小时,单位毫秒 --> <maximum-connection-lifetime>14400000</maximum-connection-lifetime> <!-- 自动检查连接是否断掉开关 --> <test-before-use>true</test-before-use> <!-- 自动检查连接是否断的测试sql语句 --> <house-keeping-test-sql>select sysdate() from dual</house-keeping-test-sql> </proxool> </something-else-entirely>
2.数据库名可以这样指定
<property name="connection.url"> jdbc:sqlserver://localhost:1433;DatabaseName=supermarket </property>
3.URL 还可以传参数
<property name="connection.driver_class">org.gjt.mm.mysql.Driver</property> <property name="connection.url"> jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=GBK </property>
目前,proxool用法,被大部分人认为是***秀的。
4.连接池监控
1).在web.xml中加上下面这段
<servlet> <servlet-name> proxool </servlet-name> <servlet-class> org.logicalcobwebs.proxool.admin.servlet.AdminServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name> proxool </servlet-name> <url-pattern> /Admin/proxool/ </url-pattern> </servlet-mapping>
2).http://localhost:8080/testHibernate/Admin/proxool
就可以监控到连接池的状况了!
感谢各位的阅读!关于“Hibernate连接池的配置方式有哪些”这篇文章就分享到这里了,希望
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/99770.html