轉自:http://blog.163.com/yangzhanghui_job/blog/static/179575062201271393955539/jndi資料庫連接池
串連池中的maxIdle,MaxActive,maxWait參數
http://blog.chinahr.com/blog/Eddy_Su/post/100268
maxIdle,最大空閑數,資料庫連接的最大空閑時間。超過空閑時間,資料庫連接將被標記為不可用,然後被釋放。設為0表示無限制。
MaxActive,串連池的最大資料庫連接數。設為0表示無限制。
maxWait ,最大建立串連等待時間。如果超過此時間將接到異常。設為-1表示無限制。
*maxActive:最大串連資料庫連接數,設 0 為沒有限制
*maxIdle:最大等待串連中的數量,設 0 為沒有限制
*maxWait:最大等待毫秒數, 單位為 ms, 超過時間會出錯誤資訊
一般把maxActive設定成可能的並發量就行了
maxActive、maxIdle和maxWait參數:
maxActive是最大啟用串連數,這裡取值為20,表示同時最多有20個資料庫連接。maxIdle是最大的空閑串連數,這裡取值為20,表示即使沒有資料庫連接時依然可以保持20閒置串連,而不被清除,隨時處於待命狀態。MaxWait是最大等待秒鐘數,這裡取值-1,表示無限等待,直到逾時為止,也可取值9000,表示9秒後逾時。
如何設定資料庫串連池:
1. 在Tomcat安裝目錄下conf目錄下server.xml中最後的“</Host>”標記之前添加
如下配置:
<Context path="/myinfoSystem" docBase="myinfoSystem"
debug="5" reloadable="true" crossContext="true" workDir="">
<Resource name="infosys"
auth="Container"
type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password="system"
driverClassName="org.gjt.mm.mysql.Driver"
url="jdbc:mysql://localhost/yzh"/>
</Context>
2. 在本應用的WEB-INF目錄下web.xml檔案中添加如下配置
<resource-ref>
<description>DB Connection</description>
<res-ref-name>infosys</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
3. 在JSP或Servlet或JavaBean中用如下Java代碼獲得資料庫連接
Context initial = new InitialContext();
//其中mysql為資料來源jndi名稱
DataSource ds = (DataSource)initial.lookup("java:comp/env/infosys");
Connection con=ds.getConnection();