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 閱讀(397) 評論(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");


          主站蜘蛛池模板: 运城市| 陇西县| 新巴尔虎左旗| 台南市| 香格里拉县| 抚松县| 博罗县| 来宾市| 石河子市| 五寨县| 武川县| 邳州市| 乌拉特中旗| 南康市| 名山县| 内黄县| 菏泽市| 图们市| 通榆县| 张家口市| 黔东| 石渠县| 石狮市| 宁晋县| 和田县| 金寨县| 大庆市| 雷山县| 吉林市| 云梦县| 河北区| 吉水县| 观塘区| 从化市| 靖江市| 新密市| 揭西县| 宜兰市| 吉林省| 汪清县| 海淀区|