ice world

          There is nothing too difficult if you put your heart into it.
          posts - 104, comments - 103, trackbacks - 0, articles - 0

          proxool數據源的配置方法

          Posted on 2011-04-16 14:11 IceWee 閱讀(393) 評論(0)  編輯  收藏 所屬分類: Java
          以前都是用SSH框架,spring借助的是Tomcat的dbcp數據源,最近做網站也沒用什么框架,直接Sservlet+JSP,依舊用的 Tomcat的dbcp做數據源,經常發現網絡不好時連接就獲取不到了,那是因為池子中的連接都已經無效了,Tomcat數據源的自動重連貌似配置較為復雜,很多人建議用proxool做數據源,下面是proxool的配置方法:

          1.下載proxool,自己到網站http://proxool.sourceforge.net/download.html隨便下載一個版本,解壓后進入目錄lib,會得到兩個jar文件,分別為proxool-0.9.1.jar(版本不同可能名稱有所不同)和proxool-cglib.jar,將這兩個jar文件拷貝到項目的WEB-INF/lib下

          2.配置web.xml,需要配置proxool的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>
          <servlet>
              
          <servlet-name>proxooladmin</servlet-name>
              
          <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet
              
          </servlet-class>
          </servlet>
          <servlet-mapping>
              
          <servlet-name>proxooladmin</servlet-name>
              
          <url-pattern>/proxooladmin</url-pattern>
          </servlet-mapping>


          3.創建proxool.xml文件,將此文件放在與web.xml同級目錄下,即WEB-INF下

          <?xml version="1.0" encoding="UTF-8"?>
          <something-else-entirely>
              
          <proxool>
                  
          <alias>testDB</alias>
                  
          <driver-url>jdbc:oracle:thin:@192.168.1.229:1521:orcl</driver-url>
                  
          <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
                  
          <driver-properties>
                      
          <property name="user" value="test_user" />
                      
          <property name="password" value="password" />
                  
          </driver-properties>
                  
          <maximum-connection-count>10</maximum-connection-count>
                  
          <minimum-connection-count>5</minimum-connection-count>
                  
          <prototype-count>5</prototype-count>
                  
          <test-before-use>true</test-before-use>
                  
          <house-keeping-sleep-time>180000</house-keeping-sleep-time>
                  
          <house-keeping-test-sql>select CURRENT_DATE from dual</house-keeping-test-sql>
              
          </proxool>
          </something-else-entirely>

          上面的<test-before-use>true</test-before-use>據說是用來自動重連的,也就是在網絡錯誤或數據庫重啟等等原因導致與數據庫斷開,每次獲取連接前都會檢查,如果現在池子中的連接已經無效將會重新創建


          4.在java中獲取數據庫連接的代碼

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


          主站蜘蛛池模板: 河曲县| 阿荣旗| 睢宁县| 射阳县| 贵州省| 望谟县| 内丘县| 正蓝旗| 四子王旗| 涿州市| 兴仁县| 霍林郭勒市| 惠安县| 彭水| 奎屯市| 阳信县| 宜兴市| 北碚区| 安图县| 仁寿县| 东辽县| 黄陵县| 抚州市| 栾川县| 峡江县| 丁青县| 花莲市| 山东省| 文成县| 东港市| 常州市| 方正县| 桓台县| 定襄县| 邢台县| 沙坪坝区| 南丹县| 虹口区| 闸北区| 蒲城县| 烟台市|