無線&移動互聯網技術研發

          換位思考·····
          posts - 19, comments - 53, trackbacks - 0, articles - 283
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          【轉】Proxool 連接池的配置-hibernate篇

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

          proxool連接池
          (1) 先寫proxool的配置文件,文件名:proxool.xml(一般放在與hibernate.cfg.xml文件在同一個目錄中)本例配置的是MYSQL數據庫,數據庫的名字為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只能管理由自己產生的連接-->

             
          <driver-url>jdbc:mysql://localhost:3306/schoolproject?useUnicode=true&characterEncoding=UTF8</driver-url>

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


          (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輸出到日志以供調試-->
             
          <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范圍內!不然會拋出異常。
          (4) dialect是聲明SQL語句的方言
          (5) show_sql定義是否顯示Hibernate生成的SQL語言,一般在調試階段設為true,完成后再改成false,這樣有利于調試。
          (6) <mapping >資源文件映射

          主站蜘蛛池模板: 贵阳市| 措美县| 临沂市| 荃湾区| 莆田市| 陵水| 辰溪县| 阜南县| 岑溪市| 江华| 微山县| 银川市| 大丰市| 远安县| 临西县| 高安市| 象山县| 保定市| 永年县| 武安市| 九龙城区| 苗栗县| 万州区| 重庆市| 苍山县| 突泉县| 新源县| 靖江市| 兴海县| 南川市| 锡林郭勒盟| 永修县| 康乐县| 和龙市| 图木舒克市| 称多县| 游戏| 屏南县| 孟州市| 潞西市| 皋兰县|