posts - 19, comments - 53, trackbacks - 0, articles - 283
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          【轉(zhuǎn)】Proxool 連接池的配置-hibernate篇

          Posted on 2010-11-04 14:10 Gavin.lee 閱讀(443) 評論(0)  編輯  收藏 所屬分類: JDBC

          proxool連接池
          (1) 先寫proxool的配置文件,文件名:proxool.xml(一般放在與hibernate.cfg.xml文件在同一個目錄中)本例配置的是MYSQL數(shù)據(jù)庫,數(shù)據(jù)庫的名字為schoolproject

          <?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://localhost:3306/schoolproject?useUnicode=true&characterEncoding=UTF8</driver-url>

             
          <!—JDBC驅(qū)動程序-->
             
          <driver-class>com.mysql.jdbc.Driver</driver-class>
             
          <driver-properties>
              
          <property name="user" value="root"/>
              
          <property name="password" value=""/>
             
          </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>


          (2)配置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/wqbi/model/pojo/student.hbm.xml" />
          </session-factory>
          </hibernate-configuration>

           

          (1) hibernate.connection.provider_class定義Hibernate的連接加載類,這里Proxool連接池是用這個,不同的連接池有不同的加載類,可以查閱Hibernate文檔獲取相關信息
          (2) hibernate.proxool.pool_alias這里就是用我們上面提到的連接池的別名
          (3) hibernate.proxool.xml是向Hibernate聲明連接池的配置文件位置,可以用相對或絕對路徑,用相對路徑時要注意一定在要Path范圍內(nèi)!不然會拋出異常。
          (4) dialect是聲明SQL語句的方言
          (5) show_sql定義是否顯示Hibernate生成的SQL語言,一般在調(diào)試階段設為true,完成后再改成false,這樣有利于調(diào)試。
          (6) <mapping >資源文件映射

          主站蜘蛛池模板: 阜南县| 婺源县| 博兴县| 乌苏市| 巴里| 九寨沟县| 高唐县| 中宁县| 宜城市| 屏南县| 霞浦县| 禹州市| 香格里拉县| 泰州市| 乌鲁木齐县| 乌恰县| 沅江市| 郧西县| 天气| 宁陕县| 黄梅县| 白山市| 灯塔市| 永嘉县| 绥芬河市| 崇文区| 南丰县| 东乌| 红安县| 石河子市| 渑池县| 皮山县| 平舆县| 迁西县| 漳平市| 郁南县| 临夏市| 大埔区| 喀什市| 九台市| 博爱县|