<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    J2EE劍俠行

    直覺我的J2EE應用生涯,打造我心中的一把利劍。

    常用鏈接

    統計

    技術鏈接

    最新評論

    hibernate之數據庫連接池

    我花了三個晚上的時間,把hibernate與三種常用連接池的配置研究出來,希望對大家有幫助。

    以下三種連接都是以連接MySQl為例。

    <!-- JDBC驅動程序 -->
    <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> <!-- 數據庫用戶名 -->
    <property name="connection.username">root</property> <!-- 數據庫密碼 -->
    <property name="connection.password">8888</property>

    上 面的一段配置,在c3p0和dbcp中,都是必需的,因為hibernate會根據上述的配置來生成connections,再交給c3p0或dbcp管 理.但是,proxool則不能,雖然說服文檔上說proxool也可以和hibernate結合,但我按照官方文檔上的說明怎么配也出錯,而且,到了 sun和hibernat有的官方網站上問了幾天,都沒有一個人回復。后來我只能讓proxool自身來生成連接,這在下面再講。


    1 C3P0

    只需在hibernate.cfg.xml中加入
    <property name="c3p0.min_size">5</property>
    <property name="c3p0.max_size">30</property>
    <property name="c3p0.time_out">1800</property>
    <property name="c3p0.max_statement">50</property>

    還有在classespath中加入c3p0-0.8.4.5.jar


    2 dbcp

    在hibernate.cfg.xml中加入

    <property name="dbcp.maxActive">100</property>
    <property name="dbcp.whenExhaustedAction">1</property>
    <property name="dbcp.maxWait">60000</property>
    <property name="dbcp.maxIdle">10</property>

    <property name="dbcp.ps.maxActive">100</property>
    <property name="dbcp.ps.whenExhaustedAction">1</property>
    <property name="dbcp.ps.maxWait">60000</property>
    <property name="dbcp.ps.maxIdle">10</property>


    還有在classespath中加入commons-pool-1.2.jar 和commons-dbcp-1.2.1.jar.


    3 proxool

    在hibernate.cfg.xml中加入

    <property name="proxool.pool_alias">pool1</property>
    <property name="proxool.xml">ProxoolConf.xml</property>
    <property name="connection.provider_class">net.sf.hibernate.connection.ProxoolConnectionProvider</property>

    然后,在和hibernate.cfg.xml同一個目錄下,加一個ProxoolConf.xml文件,內容為

    <?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>pool1</alias>
    <!--proxool只能管理由自己產生的連接-->
    <driver-url>jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=GBK</driver-url>
    <driver-class>org.gjt.mm.mysql.Driver</driver-class>
    <driver-properties>
    <property name="user" value="root"/>
    <property name="password" value="8888"/>
    </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>


    并在classespath中加入proxool-0.8.3.jar



    結論:

    由 于在hibernate3.0中,已經不再支持dbcp了,hibernate的作者在hibernate.org中,明確指出在實踐中發現dbcp有 BUG,在某些種情會產生很多空連接不能釋放,所以拋棄了對dbcp的支持。我不知是否在dbcp最新版本中解決了這個問題,我以前在一個訪問量不大的項 目中用過dbcp,運行了一年多都沒出現問題。不過在網上的確也有不少網友指出dbcp在大型的應用中會出現不穩定的情況。所以在真相未經證實的情況下, 我覺得對dbcp持慎重的態度。

    至于c3p0,有評論說它的算法不是最優的,而且,我在matrix中,見到有網友做了一個實驗,在同一項目中分別用了幾個常用的連接池,然后測試其性能,發現c3p0占用資源比較大,效率也不高。

    所以,基于上述原因,我才花兩晚的時間去研究proxool的配置,proxool不少行家推薦使用,而且暫時來說,是負面評價是最少的一個。在三星中也有項目是用proxool的。

    歡迎大家就連接池的問題多研究,多多發表自己的經驗心得。

    posted on 2006-01-19 11:34 @家軍 閱讀(509) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 嫩草在线视频www免费观看| 精品在线视频免费| 99久热只有精品视频免费看 | 国产福利在线观看免费第一福利| 久久亚洲精品AB无码播放| 你好老叔电影观看免费| 亚洲欧洲日产国码无码久久99| 三年片在线观看免费西瓜视频| 久久亚洲综合色一区二区三区| 免费成人高清在线视频| 亚洲人成在线观看| 国产h视频在线观看免费| 亚洲AV无码成人网站在线观看| 好爽好紧好大的免费视频国产| 欧洲乱码伦视频免费国产| 亚洲宅男天堂在线观看无病毒| 免费人成在线观看视频高潮| 亚洲va在线va天堂va不卡下载| 成人免费观看一区二区| 亚洲色欲色欱wwW在线| 免费人成网站7777视频| 在线亚洲97se亚洲综合在线| 99久久免费国产特黄| 亚洲AV日韩AV高潮无码专区| 午夜无码A级毛片免费视频| 亚洲最大的视频网站| 女人18毛片免费观看| 一区二区三区免费在线观看| 亚洲gv猛男gv无码男同短文| 最近高清中文字幕无吗免费看| 亚洲AV日韩AV一区二区三曲| 色噜噜亚洲精品中文字幕| 最好看的中文字幕2019免费| 亚洲国产精品无码久久久秋霞1| 亚洲毛片网址在线观看中文字幕| 久久国产精品2020免费m3u8| 亚洲综合偷自成人网第页色| 亚洲无码精品浪潮| 日本成年免费网站| 中文字幕免费观看全部电影| 亚洲人色大成年网站在线观看|