夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks

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

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

          1、添加proxool-0.8.3.jar包。


          2、把proxool-conf.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>pro_pool</alias>
          <!--proxool只能管理由自己產生的連接-->
          <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
          <driver-url>jdbc:oracle:thin:@IP地址:數據庫實例名</driver-url>
          <driver-properties>
              <property name="user" value="具體用戶名" />
            <property name="password" value="具體密碼" />
          </driver-properties>
           


          --><!-- proxool自動偵察各個連接狀態的時間間隔(毫秒),偵察到空閑的連接就馬上回收,超時的銷毀-->
          <house-keeping-sleep-time>60000</house-keeping-sleep-time>
          <!-- 指因未有空閑連接可以分配而在隊列中等候的最大請求數,超過這個請求數的用戶連接就不會被接受-->
          <maximum-new-connections>20</maximum-new-connections>
          <!-- 線程最大壽命 -->
          <maximum-connection-lifetime>1200000</maximum-connection-lifetime>
          <!-- 最少保持的空閑連接數-->
          <prototype-count>3</prototype-count>
          <!-- 允許最大連接數,超過了這個連接,再有請求時,就排在隊列中等候,最大的等待請求數由maximum-new-connections決定-->
          <maximum-connection-count>40</maximum-connection-count>
          <!-- 最小連接數-->
          <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中添加以下代碼,使得項目啟動時,自動加載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、程序調用(三種方式)

               根據自己項目情況,采用以下三種方式中的任何一種即可。
          1)、Spring框架調用。
          在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調用

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

           

          3)、Hibernate調用

          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) 評論(0)  編輯  收藏 所屬分類: Hibernate
          主站蜘蛛池模板: 浮山县| 嘉鱼县| 平安县| 托克逊县| 石首市| 深圳市| 青铜峡市| 汉阴县| 石楼县| 醴陵市| 尖扎县| 平陆县| 临泉县| 利川市| 淄博市| 尤溪县| 方山县| 维西| 临西县| 皋兰县| 江安县| 获嘉县| 邮箱| 德令哈市| 沁阳市| 荃湾区| 鹿邑县| 定襄县| 溆浦县| 阿勒泰市| 康乐县| 海林市| 柳江县| 体育| 鄂尔多斯市| 宝兴县| 琼结县| 临夏县| 资阳市| 河池市| 钟山县|