<a href="http://baidongli.iteye.com/blog/38735">http://baidongli.iteye.com/blog/38735</a>
1、建立web-inf/proxool.xml配置連接配接池屬性
proxool支援多配置方式如property,javabean等

<?
xml version="1.0" encoding="ISO-8859-1"?>


<
something-else-entirely>

<
proxool >

<
alias >
oracle </alias
>

<
driver-url>
jdbc:oracle:thin:@130.51.65.10:1521:xxxxx</

driver-class>
oracle.jdbc.OracleDriver</

driver-properties>

<
property name
="user" value
="xxxxxxxx"/>

<
="password" value
="xxxxx"/>

</

maximum-connection-count>
100 </
maximum-connection-count >

house-keeping-test-sql>
select 1 from dual</

</

</

相關參數說明
這一步主要配置連接配接池的一些參數。
由于整個程式已經可以運作起來了,或許你很高興,但是你可不要高興的太早,如果就這樣拿你的項目去做壓力測試,那十有八九是通不過的!為什麼啊?因為你的連接配接池還沒有經過參數的調優,下面我就簡單的介紹一下各個參數的意思,你明白了這些,壓力測試肯定不成問題。
house-keeping-sleep-time: house keeper 保留線程處于睡眠狀态的最長時間,house keeper 的職責就是檢查各個連接配接的狀态,并判斷是否需要銷毀或者建立,這個的預設值是30秒。
house-keeping-test-sql: 如果發現了空閑的資料庫連接配接.house keeper 将會用這個語句來測試.這個語句最好非常快的被執行.如果沒有定義,測試過程将會被忽略。
maximum-active-time: 如果housekeeper 檢測到某個線程的活動時間大于這個數值.它将會殺掉這個線程.是以确認一下你的伺服器的帶寬.然後定一個合适的值.預設是5分鐘。經常有些人或許會遇到正在執行的程式忽然拒絕連接配接,莫明其妙的程式假死,這些都與這個參數的設定有關,我們大部分資料庫操作都會在5分鐘之内完成,可是偏偏有些可能5分鐘還完成不了,而這個值如果按照預設值的話,連接配接池就會不管你到底有沒有執行完,都會強行關閉資料庫連接配接,是以這個值你可要小心設定哦:)
maximum-connection-count: 最大的資料庫連接配接數.一般的大應用設定30就足夠了。
maximum-connection-lifetime: 一個線程的最大壽命.
minimum-connection-count: 最小的資料庫連接配接數,一般最好事先初始化一部分連接配接這樣,對于初次連接配接資料庫的應用效率比較高,推薦設定5-10
prototype-count: 連接配接池中可用的連接配接數量.如果目前的連接配接池中的連接配接少于這個數值.新的連接配接将被建立(假設沒有超過最大可用數).例如.我們有3個活動連接配接2個可用連接配接,而我們的prototype-count是4,那麼資料庫連接配接池将試圖建立另外2個連接配接.這和 minimum-connection-count不同. minimum-connection-count把活動的連接配接也計算在内.prototype-count 是spare connections 的數量.
trace: 如果為true,那麼每個被執行的SQL語句将會在執行期被log記錄(DEBUG LEVEL).你也可以注冊一個ConnectionListener (參看ProxoolFacade)得到這些資訊.
2)在web.xml中配置讀取proxool.xml;這個相當于程式中使用
JAXPConfigurator.configure("proxool.xml", false)。
在web.xml檔案中添加以下内容

< servlet

servlet-name>
ServletConfigurator</

servlet-class>
org.logicalcobwebs.proxool.configuration.ServletConfigurator</

init-param>

<
param-name>
xmlFile </
param-name >

param-value>
WEB-INF/proxool.xml</

</

load-on-startup>
1 </
load-on-startup >

servlet >


Admin </
servlet-name >

org.logicalcobwebs.proxool.admin.servlet.AdminServlet</

3)擷取連接配接參考org.logicalcobwebs.proxool.examples.Simple類。
下載下傳的開包中有相應的文檔說明。可以參考以下代碼
public Connection getConenctionFromProxool() {
Connection conn =
null ;
try
{
Class.forName( "
org.logicalcobwebs.proxool.ProxoolDriver ");
//
conn=DriverManager.getConnection("protest:oracle.jdbc.OracleDriver:jdbc:oracle:thin:@130.51.65.10:1521:gzjf","","");
conn
= DriverManager.getConnection(
" proxool.oracle
" );
if
(conn == null) {
log.info( "
擷取連接配接失敗.,
"
);
} else
獲得連接配接成功 " );
}
} catch
(Exception e) {
log.error(e.toString());
}
return
conn;
}
下面是監控方法:
4)web.xml中配置adminservlet:
adminservlet的作中是監控連接配接池的運作狀況。






servlet-mapping>


url-pattern>
/Admin </
url-pattern >

這個工具用起來就還是挺簡單的,網站上有詳細的文檔