小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Proxool連接池的使用方法、心得

 looline 2006-11-18

            公司里用的連接池都是自己寫好了,封裝起來的,做大型項目的時候,非常有用,但近段時間總是發(fā)現(xiàn)數(shù)據(jù)庫連接過多,造成數(shù)據(jù)庫連接壓力過大,網(wǎng)站無法訪問等嚴(yán)重后果,我們做的網(wǎng)站主要是用于移動公司的后臺,經(jīng)常會處理很大"群集任務(wù)",找了很長時間,發(fā)現(xiàn)是程序里有很多打開的連接沒有關(guān)閉,放回到連接池里去,造成連接數(shù)不夠的問題.

            后來上網(wǎng)上找了這個PROXOOL連接池插件,發(fā)現(xiàn)有自動KILL不活動的連接的功能.而且有VIEW方式查看連接情況,而且很多數(shù)據(jù)都是配置完成。決定在項目中試驗一下。

          官方網(wǎng)址:http://proxool./    當(dāng)前版本:proxool-0.9.0RC2

            1、下載proxool 地址:http://proxool.
            2、解壓縮proxool-0.9.0RC2.zip,拷貝lib/proxool-0.9.0RC2.jar到web-info/lib      拷貝jdbc驅(qū)動到web-info/lib
            3、在web-info下建立文件:proxool.xml
<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
  <proxool>
    <alias>Test</alias>
    <driver-url>jdbc:oracle:thin:@192.168.10.160:1521:orc1</driver-url>
    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    <driver-properties>
      <property name="user" value="test"/>
      <property name="password" value="testpass"/>
    </driver-properties>
    <maximum-connection-count>10</maximum-connection-count>
    <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
  </proxool> 
</something-else-entirely>
            4、在web.xml里新增如下:

<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/config/proxool.xml</param-value>
     </init-param>
     <load-on-startup>1</load-on-startup>
   </servlet>
<!-- proxool提供的管理監(jiān)控工具,可查看當(dāng)前數(shù)據(jù)庫連接情況。如果運行不成功,請刪除本行 -->
<servlet>
    <servlet-name>Admin</servlet-name>
      <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
   </servlet>
   <servlet-mapping>
    <servlet-name>Admin</servlet-name>
    <url-pattern>/admin</url-pattern>
   </servlet-mapping>

 5、在調(diào)用數(shù)據(jù)庫連接代碼:
       Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
       Connection conn = DriverManager.getConnection("proxool.Develop");

     6、利用proxool監(jiān)控工具查看數(shù)據(jù)庫運行狀態(tài)。地址:./admin


      以上配置是采用的XML文件方式,也可以采用properties配置方式:

proxool.alias=Test
proxool.driver-class=oracle.jdbc.driver.OracleDriver
proxool.driver-url=jdbc:oracle:thin:@192.168.10.160:1521:orcl
proxool.user=test
proxool.password=testpass
proxool.maximum-connection-count=20
proxool.prototype-count=4
proxool.house-keeping-test-sql=select sysdate from DUAL
proxool.verbose=true
proxool.statistics=10s,1m,1d
proxool.statistics-log-level=ERROR


<servlet>
<servlet-name>ServletConfigurator</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>
 
 <init-param>
   <param-name>propertyFile</param-name>
   <param-value>WEB-INF/config/Proxool.properties</param-value>
 </init-param>
 <load-on-startup>1</load-on-startup>
</servlet>


在調(diào)用數(shù)據(jù)庫連接代碼
   Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
   Connection conn = DriverManager.getConnection("proxool.Test");


還有一些配置屬性:
maximum-connection-lifetime   最大連接生命周期  默認(rèn)值:4小時
maximum-active-time:     最大活動時間   默認(rèn)值:5分鐘
maximum-connection-count   最大連接數(shù)    默認(rèn)值:15個
minimum-connection-count   最小連接數(shù)    默認(rèn)值:5個

在用admin調(diào)用的時候,可以查看這個WEB應(yīng)用所有的連接數(shù)的狀態(tài),雖然這個插件可以把不活動的連接自動放到連接池里,但是如果連接數(shù)過多,而不及時KILL的話,對網(wǎng)站的連接是有很大的影響的,建議還是手工KILL。

還可以把這個給封閉成一個DB應(yīng)用的類,下一篇就來寫。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多