Hibernate數(shù)據(jù)庫連接池
作者:佚名
本文講述Hibernate數(shù)據(jù)庫連接池。作者在做一個項目的時候,發(fā)現(xiàn)一個問題在本機測試都ok 但是發(fā)布到生產(chǎn)機上就出了問題。后來把數(shù)據(jù)庫的鏈接改成連接池的方式,問題就解決了。
在做一個項目的時候,發(fā)現(xiàn)一個問題在本機測試都ok 但是發(fā)布到生產(chǎn)機上就出了問題 。
提示鏈接不到數(shù)據(jù)庫 用的mysql 。
后來發(fā)現(xiàn)了是mysql 設置的鏈接時間 比較短
考慮一下 把數(shù)據(jù)庫的鏈接 改成了 連接池的方式
問題 解決了
下面 把Hibernate數(shù)據(jù)庫連接池的代碼貼出來
proxoolconf.xml 放在 src 的根目錄
- < ?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>
- < !--連接池的別名-->
- < alias>DBPool< /alias>
- < !--proxool只能管理由自己產(chǎn)生的連接-->
- < driver-url>
- jdbc:mysql://121.199.27.237:3306/zp11a1_db?useUnicode=true&characterEncoding=GBK
- < /driver-url>
- < !-- -->JDBC驅(qū)動程序-->
- < driver-class>com.mysql.jdbc.Driver< /driver-class>
- < driver-properties>
- < property name="user" value="zp11a1"/>
- < property name="password" value="k6c5t6h4v4"/>
- < /driver-properties>
- < !-- proxool自動偵察各個連接狀態(tài)的時間間隔(毫秒),偵察到空閑的連接就馬上回收,超時的銷毀-->
- < house-keeping-sleep-time>90000< /house-keeping-sleep-time>
- < !-- 指因未有空閑連接可以分配而在隊列中等候的最大請求數(shù),超過這個請求數(shù)的用戶連接就不會被接受-->
- < maximum-new-connections>20< /maximum-new-connections>
- < !-- 最少保持的空閑連接數(shù)-->
- < prototype-count>5< /prototype-count>
- < !-- 允許最大連接數(shù),超過了這個連接,再有請求時,就排在隊列中等候,最大的等待請求數(shù)由maximum-new-connections決定-->
- < maximum-connection-count>100< /maximum-connection-count>
- < !-- 最小連接數(shù)-->
- < minimum-connection-count>10< /minimum-connection-count>
- < /proxool>
- < /something-else-entirely>
- hibernate.cfg.xml 的配置 如下
- < ?xml version='1.0' encoding='UTF-8'?>
- < !DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
- < hibernate-configuration>
- < session-factory>
- < property name="hibernate.connection.provider_class">
- org.hibernate.connection.ProxoolConnectionProvider
- < /property>
- < property name="hibernate.proxool.pool_alias">DBPool< /property>
- < property name="hibernate.proxool.xml">
- proxoolconf.xml
- < /property>
- < !--是否將運行期生成的SQL輸出到日志以供調(diào)試-->
- < property name="show_sql">true< /property>
- < !--指定連接的語言-->
- < property name="dialect">
- org.hibernate.dialect.MySQLDialect
- < /property>
- < !--映射Student這個資源-->
- < mapping resource="com/bsoar/hibernate/pojo/Cancellation.hbm.xml" />
- < mapping resource="com/bsoar/hibernate/pojo/Arrearage.hbm.xml" />
- < mapping resource="com/bsoar/hibernate/pojo/Role.hbm.xml" />
- < mapping resource="com/bsoar/hibernate/pojo/CustomerInfo.hbm.xml" />
- < mapping resource="com/bsoar/hibernate/pojo/Notice.hbm.xml" />
- < mapping resource="com/bsoar/hibernate/pojo/Function.hbm.xml" />
- < mapping resource="com/bsoar/hibernate/pojo/Employee.hbm.xml" />
- < mapping resource="com/bsoar/hibernate/pojo/TOrder.hbm.xml" />
- < mapping resource="com/bsoar/hibernate/pojo/PriceFile.hbm.xml" />
- < mapping resource="com/bsoar/hibernate/pojo/PolicyFile.hbm.xml" />
- < /session-factory>
- < /hibernate-configuration>
這樣就建立好了Hibernate數(shù)據(jù)庫連接池。
【編輯推薦】
責任編輯:book05
來源:
csdn