• 下載proxool,下載網址:http://proxool.sourceforge.net/
  • 解壓縮後將其中 proxool-0.9.1.jar、proxool-cglib.jar 放入專案中WEB-INF/libs(依各專案設定)
  • 於 hibernate.cfg.xml 同一層目錄下新增一XML檔 proxool.cfg.xml,檔案內容如下:

<?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>
        <!-- Connection Pool的別名,但需與hibernate部分對應-->
        <alias>proxoolPool</alias>
        <!-- 讓proxool只能管理自己產生的連結 -->
        <driver-url>jdbc:mysql://localhost:3306/DBNAME</driver-url>
        <driver-class> com.mysql.jdbc.Driver </driver-class>
        <driver-properties>
            <property name="user" value=""/>
            <property name="password" value=""/>
        </driver-properties>
        <!-- proxool自動偵測各個連結狀態的時間間隔(毫秒),偵察到閒置的連結就即刻回收,超時的銷毀 (0.9.1版SOURCE為long所以建議不要設定,會以預設值為30秒作為銷毀時間)-->
        <house-keeping-sleep-time>90000</house-keeping-sleep-time>
        <!-- 指因未有閒置連結可以分配而在佇列中等候的最大連線數,超過這個連線數的用戶連線就不會被接受 -->
        <maximum-new-connections>20</maximum-new-connections>
        <!-- 最少保持的閒置連線數 -->
        <prototype-count>5</prototype-count>
        <!-- 允許最大連線數,超過了該連線數,再有請求時,就排在佇列中等候,最大的等待連線數由maximum-new-connections決定 -->
        <maximum-connection-count>100</maximum-connection-count>
        <!-- 最小連線數 -->
        <minimum-connection-count>10</minimum-connection-count>
        <!-- 對連線池的資料進行定時統計,1分鐘、五分鐘、一天分別作統計 -->
        <statistics>1m,15m,1d</statistics>
    </proxool>
</something-else-entirely>

  • 修改 hibernate.cfg.xml 中設定

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!-- ProxoolConnection設定 -->
        <property name="connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
        <!--這個名字要和Proxool.xml檔案中的別名要對應-->
        <property name="hibernate.proxool.pool_alias">proxoolPool</property>
        <!--對應上面建立的XML文件的名稱-->
        <property name="hibernate.proxool.xml">proxool.cfg.xml</property>
        <!-- 顯示實際操作資料庫時的SQL,上線時請改為false-->
        <property name="show_sql">true</property>
        <!-- 將顯示的SQL排版,方便觀看,上線時請改為false -->
        <property name="format_sql">true</property>
        <!-- SQL方言,這邊設定的是MySQL -->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>       

        <!-- 對應資料庫設定文件 -->
        <mapping resource="delta/manage/news/hbm/NewsModel.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

  • proxool內建監控畫面設定,只需於 web.xml 中增加下列設定即可在 http://localhost:8080/專案名稱/pool  中看到監控畫面

<!--proxool-->
    <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>/pool</url-pattern>
    </servlet-mapping>

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 楊 bey kuen 的頭像
    楊 bey kuen

    楊 bey kuen的部落格

    楊 bey kuen 發表在 痞客邦 留言(0) 人氣()