什麼是資料庫連線池?
配置連線池為的是解決效率問題
.由於每建立乙個連線都是非常耗時的
,有了連線池
,就能夠提前放一些連線進去
.以後我們再用連線就去連線池裡面取而不是每次都建立
.可是我們知道連線池是有上限的
,假設僅僅同意我們放10個
,那麼當這
10個連線都被占用的時候
,下乙個使用者再來請求連線將不能得到
,僅僅好等待
,假設等的時間太長了就會丟擲
timeout
的異常.
使用完連線後要釋放
,否則會一直佔著資源
,當連線所有被占用而得不到釋放時
,就會出現錯誤
...
jboss
實現了j2ee的13
個規範包含
jndi,jndi
採用樹形結構管理我們的物件
,tomcat
和jboss
等server對
jndi
做了實現
,實現它之後能夠管理物件.
採用jndi
能夠使我們的應用和實際實現解耦,如
,我們的應用中僅僅管從連線池中取連線
,而不用管使用的是哪個連線池實現
,連線池的實現對我們是透明的
.也就是說
,我們使用連線池時
,根本沒有寫
dbcp(dbcp
實現了datasource介面)
,我們也不知道它是
dbcp.
我們僅僅管使用連線不須要考慮連線是怎樣被建立的
.對於我們來說這就像是乙個工廠
,隱藏了建立的細節.所以
,這就是面向介面程式設計
.我們拿到
datasource
介面就ok了.
以下我們看看資料來源是怎樣在
jboss
註冊的,
我們又是怎樣從連線池取連線的?
在jboss
的standalone.xml
配置檔案
節點中配置資料來源
,**例如以下:
jdbc:mysql:
mysql
false
false
failingconnectiononly
root
888888
public connection getconnectioncatch(exception e)
return conn;
}
jndi
另乙個典型的應用
,即分布式物件的訪問.如
ejb.
把物件註冊到這棵樹上
,起個名,遠端
lookup
這個服務
,僅僅要知道這個服務所處機器的
ip和port號
,就能夠將這個服務傳到client的本地.
知識都是連通的
,當我們可以熟練地從乙個跳到還有乙個就說明我們會學了.
在JBOSS中配置資料來源 連線池
資料來源配置 在路徑jboss doc examples jca下,如果你的是 mysql 資料庫,則選mysql ds.xml defaultmysqlds jdbc mysql localhost 3306 studentdb?useunicode true characterencoding ...
nhibernate連線池配置
nhibernate連線池配置 nhibernate.driver.sqlclientdriver server 127.0.0.1 initial catalog sun user id sun password 123456 min pool size 10 max pool size 50 c...
tomcat 連線池配置
maxidle,最大空閒數,資料庫連線的最大空閒時間。超過空閒時間,資料庫連線將被標記為不可用,然後被釋放。設為0表示無限制。maxactive,連線池的最大資料庫連線數。設為0表示無限制。maxwait 最大建立連線等待時間。如果超過此時間將接到異常。設為 1表示無限制。maxactive 最大連...