Hibernate连接池的配置方式有哪些

技术Hibernate连接池的配置方式有哪些这篇文章给大家分享的是有关Hibernate连接池的配置方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在Hibernate3.0中,已经不

这篇文章给大家分享的是有关冬眠连接池的配置方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

在休眠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

(0)

相关推荐

  • 小字加偏旁,“少”字可以加什么偏旁

    技术小字加偏旁,“少”字可以加什么偏旁一小字加偏旁、加禾字旁,秒。miǎo 
    1、谷物种子壳上的芒,引申为细微,微小:~忽(喻细微)。 
    2、时间的计算单位,一分钟的六十分之一:~表。~针。 
    3、弧和角的计算单位

    生活 2021年10月30日
  • Ubuntu14.04 Caffe如何安装

    技术Ubuntu14.04 Caffe如何安装这篇文章将为大家详细讲解有关Ubuntu14.04 Caffe如何安装,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Caffe简介Caff

    攻略 2021年11月15日
  • 微信小程序模拟零钱(微信小程序中的零钱通)

    技术Java模仿微信如何实现零钱通简易功能本篇文章为大家展示了Java模仿微信如何实现零钱通简易功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 需求描述使用Java 开发

    攻略 2021年12月14日
  • excel函数的使用方法,Excel替换函数的使用方法

    技术excel函数的使用方法,Excel替换函数的使用方法可以根据以下6个步骤操作excel函数的使用方法:方法/步骤1:SUBSTITUTE函数格式为:SUBSTITUTE(text,old_text,new_text

    生活 2021年11月1日
  • 安瓿瓶怎么读,英语:瓶子这个单词怎么读

    技术安瓿瓶怎么读,英语:瓶子这个单词怎么读表示瓶子的英文是bottle,其读音为:英 [ˈbɒtl] 美 [ˈbɑ:tl] 。具体释义如下:bottle英 [ˈbɒtl] 美 [ˈbɑ:tl]1安瓿瓶怎么读、名词

    生活 2021年10月29日
  • 刷抖音播放量,抖音在线刷播放量网址?

    技术刷抖音播放量,抖音在线刷播放量网址?抖音快车这个引流渠道目前是见效快的办法,目前抖音HOT热门位子很火,流量相比位的三分之一获取得到,所以各大商家纷纷竞争目前HOT位子是根据点击率+ROI进行评估的。做引流先做快车,

    测评 2021年10月26日