夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評(píng)論 :: 0 Trackbacks

          至于為什么要用proxool連接池,這里就不細(xì)說了——總之,非常棒的一個(gè)連接池!

          以下介紹proxool的部署和使用:

          1、添加proxool-0.8.3.jar包。


          2、把proxool-conf.xml放到src的根目錄。
          具體內(nèi)容如下:
          <?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.
          請不要隨意改動(dòng)配置!
          -->

          <something-else-entirely>
          <proxool>
          <alias>pro_pool</alias>
          <!--proxool只能管理由自己產(chǎn)生的連接-->
          <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
          <driver-url>jdbc:oracle:thin:@IP地址:數(shù)據(jù)庫實(shí)例名</driver-url>
          <driver-properties>
              <property name="user" value="具體用戶名" />
            <property name="password" value="具體密碼" />
          </driver-properties>
           


          --><!-- proxool自動(dòng)偵察各個(gè)連接狀態(tài)的時(shí)間間隔(毫秒),偵察到空閑的連接就馬上回收,超時(shí)的銷毀-->
          <house-keeping-sleep-time>60000</house-keeping-sleep-time>
          <!-- 指因未有空閑連接可以分配而在隊(duì)列中等候的最大請求數(shù),超過這個(gè)請求數(shù)的用戶連接就不會(huì)被接受-->
          <maximum-new-connections>20</maximum-new-connections>
          <!-- 線程最大壽命 -->
          <maximum-connection-lifetime>1200000</maximum-connection-lifetime>
          <!-- 最少保持的空閑連接數(shù)-->
          <prototype-count>3</prototype-count>
          <!-- 允許最大連接數(shù),超過了這個(gè)連接,再有請求時(shí),就排在隊(duì)列中等候,最大的等待請求數(shù)由maximum-new-connections決定-->
          <maximum-connection-count>40</maximum-connection-count>
          <!-- 最小連接數(shù)-->
          <minimum-connection-count>3</minimum-connection-count>
          <house-keeping-test-sql>select CURRENT_DATE from dual</house-keeping-test-sql>
          </proxool>
          </something-else-entirely>


          3、在web.xml中添加以下代碼,使得項(xiàng)目啟動(dòng)時(shí),自動(dòng)加載proxool。
           <servlet>
            <servlet-name>AdminP</servlet-name>
            <servlet-class>
             org.logicalcobwebs.proxool.admin.servlet.AdminServlet
            </servlet-class>
            <load-on-startup>1</load-on-startup>
           </servlet>
           <servlet-mapping>
            <servlet-name>AdminP</servlet-name>
            <url-pattern>/AdminP</url-pattern>
           </servlet-mapping>

           <servlet>
            <servlet-name>proxoolServletConfigurator</servlet-name>
            <servlet-class>
             org.logicalcobwebs.proxool.configuration.ServletConfigurator
            </servlet-class>
            <init-param>
             <param-name>xmlFile</param-name>
             <param-value>WEB-INF/classes/proxool-conf.xml</param-value>
            </init-param>
            <load-on-startup>5</load-on-startup>
           </servlet>


          4、程序調(diào)用(三種方式)

               根據(jù)自己項(xiàng)目情況,采用以下三種方式中的任何一種即可。
          1)、Spring框架調(diào)用。
          在applicationContext.xml文件中:

           <bean id="dataSource"
            class="org.springframework.jdbc.datasource.DriverManagerDataSource"
            destroy-method="close" singleton="true">
            <property name="driverClassName">
             <value>org.logicalcobwebs.proxool.ProxoolDriver</value>
            </property>
            <property name="url">
             <value>proxool.pro_pool</value>
            </property>
           </bean>

           

          2)、純JDBC調(diào)用

          driver = (Driver)Class.forName("org.logicalcobwebs.proxool.ProxoolDriver").newInstance();
          DriverManager.registerDriver(driver);
          conn = DriverManager.getConnection("proxool.pro_pool");

           

          3)、Hibernate調(diào)用

          hibernate.cfg.xml中增加:
          <property name="hibernate.proxool.pool_alias">pro_pool</property>
          <property name="hibernate.proxool.xml">proxool-conf.xml</property>
          <property name="connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>

          程序中使用

          Connection con = DriverManager.getConnection("proxool.pro_pool");

          posted on 2008-11-27 18:15 HUIKK 閱讀(724) 評(píng)論(0)  編輯  收藏 所屬分類: Hibernate
          主站蜘蛛池模板: 防城港市| 富顺县| 贺兰县| 嘉祥县| 郎溪县| 通河县| 萨嘎县| 梁山县| 札达县| 怀柔区| 应城市| 武功县| 香河县| 方正县| 松溪县| 张家港市| 淅川县| 尼木县| 班戈县| 自贡市| 衡南县| 扎兰屯市| 平原县| 太和县| 寿宁县| 虹口区| 海城市| 宁陕县| 松滋市| 读书| 从江县| 武冈市| 四子王旗| 广元市| 双鸭山市| 麟游县| 康保县| 嘉鱼县| 巫溪县| 桑日县| 巧家县|