Wayne
          井底的蛙--一直仰望著天空
          posts - 16,comments - 6,trackbacks - 0
          Proxool技術是一種開源的java連接池技術,具體介紹google或者百度之。項目組使用它的原因是它在性能上和易用性上都有很大的優勢。
              1,下載與安裝
              http://proxool.sourceforge.net/ 頁面下載jar文件,將路徑加入到project的buildpath里面
              2,配置
              在proxool主站的配置頁下,介紹了5種配置proxool連接池的方法,當然目前最直接最方便和通用的無疑是強大的xml技術,因此我們采用的就是利用xml配置文件進行配置的方法。
          下面是一段配置文件proxool.xml的示例(數據庫采用的是sqlserver):
           1 <?xml version="1.0" encoding="UTF-8"?>
           2 <something-else-entirely>
           3   <proxool>
           4     <alias>your_own_name</alias>
           5     <driver-url>jdbc:microsoft:sqlserver://ip.ip.ip.ip:1433;DatabaseName=database_name</driver-url>
           6     <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
           7     <driver-properties>
           8       <property name="user" value="xxxxxx"/>
           9       <property name="password" value="xxxxxx"/>
          10     </driver-properties>
          11     <maximum-connection-count>5</maximum-connection-count>
          12     <minimum-connection-count>2</minimum-connection-count>
          13     <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
          14   </proxool>
          15   <proxool>
          16     <alias>xxxx</alias>
          17     <driver-url>jdbc:microsoft:sqlserver://ip.ip.ip.ip:1433;DatabaseName=another_database_name</driver-url>
          18     <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
          19     <driver-properties>
          20       <property name="user" value="xxxxxx"/>
          21       <property name="password" value="xxxxxx"/>
          22     </driver-properties>
          23     <maximum-connection-count>5</maximum-connection-count>
          24     <minimum-connection-count>2</minimum-connection-count>
          25     <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
          26   </proxool>
          27 </something-else-entirely>
          28 

          配置文件中的一些內容需要修改成自己項目對應的信息。
           1.<alias>  :為該連接池起一個別名,在其他文件中引用。引用是:(proxool.your_own_name);
           2. <driver-url>jdbc:microsoft:sqlserver://ip.ip.ip.ip:1433;DatabaseName=another_database_name</driver-url>
              <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
                <driver-properties>
                <property name="user" value="xxxxxx"/>
                <property name="password" value="xxxxxx"/>
              </driver-properties>
              這些配置大家應該比較熟悉吧。配置JDBC連接不同數據庫的驅動類和連接URL。
           4.<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
              proxool在未斷開的連接空閑的時候 會隔段時間執行這條sql語句以維持連接
           5.<maximum-new-connections>:指因未有空閑連接可以分配而在隊列中等候的最大請求數,超過這個請求數的用戶連接就不會被接受。
           6.<prototype-count>:最少保持的空閑連接數。
           7.<maximum-connection-count>: 允許最大連接數,超過了這個連接,再有請求時,就排在隊列中等候,最大的等待請求數由maximum-new-connections決定
           8.<minimum-connection-count>:最小連接數

             3.初始化連接池
          在proxool的包中有這樣一個類org.logicalcobwebs.proxool.configuration.JAXPConfigurator可以接收xml配置文件解析并進行初始化連接池。
          1 JAXPConfigurator.configure("src/java-test/org/logicalcobwebs/proxool/configuration/proxool.xml"false);
          2 // The false means non-validating

          一般使用包裝好的org.logicalcobwebs.proxool.configuration.ServletConfigurator類進行解析
          如果在tomcat啟動的時候web.xml中加入ServletConfigurator類的servlet配置并將此servlet的加載順序提前 那么此連接池在啟動的時候就會創建好
          <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/proxool.xml</param-value>
              
          </init-param>
              
          <load-on-startup>1</load-on-startup>
          </servlet>

          這樣以來,就能夠在程序中應用連接池進行連接數據庫了。

              4.利用連接池連接數據庫
          使用下面的語句:
          1 connection = DriverManager.getConnection("proxool.your_own_name");

              5.利用proxool提供的web化監測所配置的連接池
          proxool中提供了AdminServlet監測連接池中的數據庫,利用web.xml配置其servlet mapping 就可以通過瀏覽器進行監測了。
          同樣在web.xml中配置
          1 <servlet>
          2     <servlet-name>Admin</servlet-name>
          3     <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
          4   </servlet>
          5   <servlet-mapping>
          6     <servlet-name>Admin</servlet-name>
          7     <url-pattern>/admin</url-pattern>
          8   </servlet-mapping>

          具體內容很簡單,不再詳細解釋了。





          posted on 2010-04-12 17:26 waynewan 閱讀(1012) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 克山县| 资兴市| 永泰县| 沙雅县| 丰顺县| 瑞昌市| 西城区| 连云港市| 赤水市| 法库县| 石台县| 瑞昌市| 娄底市| 鄂伦春自治旗| 多伦县| 元谋县| 垦利县| 沐川县| 万宁市| 霸州市| 黄梅县| 吐鲁番市| 公主岭市| 寿宁县| 多伦县| 铜山县| 青浦区| 肃北| 临高县| 广昌县| 综艺| 湖南省| 蒙阴县| 襄垣县| 宣恩县| 萨迦县| 肥乡县| 高安市| 汝城县| 彭阳县| 鱼台县|