国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看
打開APP
未登錄
開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服
開通VIP
首頁
好書
留言交流
下載APP
聯(lián)系客服
數(shù)據(jù)庫連接池DBCP
燮羽
>《數(shù)據(jù)庫》
2010.12.08
關(guān)注
概念:數(shù)據(jù)庫連接池負(fù)責(zé)分配、管理和釋放數(shù)據(jù)庫連接,它允許應(yīng)用程序重復(fù)使用一個(gè)現(xiàn)有的數(shù)據(jù)庫連接,而不再是重新建立一個(gè)連接;釋放空閑時(shí)間超過最大空閑時(shí)間的數(shù)據(jù)庫連接,以避免因?yàn)闆]有釋放數(shù)據(jù)庫連接而引起的數(shù)據(jù)庫連接遺漏。
需要注意:
1. 最小連接數(shù)是連接池一直保持的數(shù)據(jù)庫連接,所以如果應(yīng)用程序?qū)?shù)據(jù)庫連接的使用量不大,將會(huì)有大量數(shù)據(jù)庫連接資源被浪費(fèi)。
2. 最大連接數(shù)是連接池能申請(qǐng)的最大連接數(shù),如果數(shù)據(jù)庫連接請(qǐng)求超過此數(shù),后面的數(shù)據(jù)庫連接請(qǐng)求將被加入到等待隊(duì)列中,這會(huì)影響之后的數(shù)據(jù)庫操作。
數(shù)據(jù)庫連接池的兩個(gè)任務(wù):
1. 限制每個(gè)應(yīng)用或系統(tǒng)可以擁有的最大資源,也就是確定連接池的大小(PoolSize)。
2. 在連接池的大小(PoolSize)范圍內(nèi)、最大限度地使用資源,縮短數(shù)據(jù)庫訪問的使用周期。
例如: 物理連接數(shù)200個(gè),每個(gè)連接提供250個(gè)Statemet,那么并發(fā)的Statement總數(shù)為200*250=50000個(gè)。
Java開源連接池:
Jakarta DBCP 可直接在應(yīng)用程序中使用。(比較常用,集成在Tomcat和Struts中)
C3P0是Hibernate的默認(rèn)數(shù)據(jù)庫連接池。(常用,Hibernate)
其他的還有Proxool、DDConnectionBroker、DBPool、XAPool、Primrose、SmartPool、MiniConnectionPoolManager。
DBCP代碼實(shí)現(xiàn):
//創(chuàng)建數(shù)據(jù)源
public static DataSource setupDataSource(String connectURI) {
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName(org.gjt.mm.mysql.Driver);
ds.setUsername("username");
ds.setPassword("password");
ds.setUrl(connectURI);
return ds;
}
//關(guān)閉數(shù)據(jù)源
public static void shutdownDataSource(DataSource ds) throws SQLException {
BasicDataSource bds = (BasicDataSource)ds;
bds.close();
}
//數(shù)據(jù)源的使用
DataSource dataSource = getDataSource();
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
conn = dataSource.getConnection();
pstmt = conn.prepareStatement("select * from users");
rs = pstmt.executeQuery();
while(rs.next()) {
System.out.println(rs.getInt("id"));
}
} catch(Exception e) {
e.printStackTrace();
} finally {
try {
rs.close();
pstmt.close();
conn.close();
} catch(Exception ex) {
ex.printStackTrace();
}
}
在Tomcat中配置數(shù)據(jù)庫連接池:
我們使用Tomcat中l(wèi)ib文件夾下的tomcat-dbcp.jar。
1. 修改server.xml文件在<Service>中寫入以下代碼:
<Context path="/WebProject" docBase="WebProject" reloadable="true" crossContext="true">
<Resource auth="Container" name="jdbc/CompanyDB" type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;DataBaseName=Company"
username="sa"
password="root"
maxActive="100"
maxIdle="30"
maxWait="10000"
removeAbandoned=“true”
removeAbandonedTimeOut="10"
logAbandoned="true"/>
</Context>
path:工程路徑。
docBase:工程名字。
name:JNDI的名字。
type:數(shù)據(jù)源的類。
factory:指定生成的DataReource的factory類名;默認(rèn)DBCP工廠類。
driverClassName:數(shù)據(jù)庫驅(qū)動(dòng)名。
url:數(shù)據(jù)庫連接的URL。
username:數(shù)據(jù)庫用戶名。
password:數(shù)據(jù)庫密碼。
maxActive:最大連接數(shù)據(jù)庫數(shù),設(shè)為0表示沒有限制。
maxIdle:最大等待數(shù)量,設(shè)為0表示沒有限制。
maxWait:最大等待秒數(shù),單位為ms。
removeAbandoned:是否自我中斷,默認(rèn)為false。
removeAbandonedTimeOut:幾秒后會(huì)自我中斷,removeAbandoned必須為true。
logAbandoned:是否記錄中斷事件,默認(rèn)為false。
2. 修改web.xml文件,增加一個(gè)標(biāo)簽,輸入以下代碼:
<resource-ref>
<description>Company Connection</description>
<res-ref-name>jdbc/CompanyDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
res-ref-name:指定JNDI的名字。
res-type:指定資源類名。
res-auth:指定資源的Manager。
3. 代碼中使用JNDI代碼進(jìn)行獲?。?span id="moiyehiw" class="Apple-converted-space">
Context ctx = new InitalContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/CompanyDB");
Connection conn = ds.getConnection();
注意:java:comp/env/ 是java中JNDI固定寫法。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)
。
打開APP,閱讀全文并永久保存
查看更多類似文章
猜你喜歡
類似文章
數(shù)據(jù)連接池
JDBC與JNDI這兩種連接方式有什么區(qū)別?
《Tomcat4.1.31的數(shù)據(jù)庫連接池配置》
JNDI學(xué)習(xí)總結(jié)(二)——Tomcat下使用C3P0配置JNDI數(shù)據(jù)源
jndi配置屬性的含義
tomcat6.0配置jndi在spring中使用
更多類似文章 >>
生活服務(wù)
首頁
萬象
文化
人生
生活
健康
教育
職場(chǎng)
理財(cái)
娛樂
藝術(shù)
上網(wǎng)
留言交流
回頂部
聯(lián)系我們
分享
收藏
點(diǎn)擊這里,查看已保存的文章
導(dǎo)長圖
關(guān)注
一鍵復(fù)制
下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!
聯(lián)系客服
微信登錄中...
請(qǐng)勿關(guān)閉此頁面
先別劃走!
送你5元優(yōu)惠券,購買VIP限時(shí)立減!
5
元
優(yōu)惠券
優(yōu)惠券還有
10:00
過期
馬上使用
×