Posted on 2006-07-18 14:11
亮子 閱讀(2460)
評(píng)論(0) 編輯 收藏
先來(lái)介紹兩個(gè)基本概念:
?1.
數(shù)據(jù)源和連接池.?
在
DataSoure
中可以事先建立多個(gè)數(shù)據(jù)源對(duì)象,把這些數(shù)據(jù)庫(kù)連接保存在連接池(
Context poo)
中.這樣我們?cè)谠L問(wèn)數(shù)據(jù)庫(kù)時(shí),不用自己再手動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)連接,直接在連接池中撈一個(gè)數(shù)據(jù)庫(kù)連接對(duì)象即可.如果這時(shí)連接池中沒(méi)有可用的連接時(shí),客戶程序就將等待.
這樣的好處:1)避免客戶程序每次訪問(wèn)數(shù)據(jù)庫(kù)都創(chuàng)建數(shù)據(jù)庫(kù)連接,提高程序相應(yīng)時(shí)間.
??????????? 2)避免數(shù)據(jù)庫(kù)連接這樣的稀缺資源因無(wú)法回收被常時(shí)間占有.
?2.
數(shù)據(jù)源和
JNDI
資源
???
DataSource
對(duì)象是由
JBoss
提供的,不能在程序中用創(chuàng)建實(shí)例的方式獲得
DataSource
對(duì)象.而需要采用
JNDI
(
java naming and directory interface
)技術(shù),來(lái)獲得
DataSource
對(duì)象的引用.其實(shí)
JNDI
簡(jiǎn)單來(lái)講就是一種將對(duì)象和名稱綁定的技術(shù).
Javax.naming
包中提供
Context
接口,該接口提供將對(duì)象和名字綁定.
下面就來(lái)具體備置一下數(shù)據(jù)源:
(以
Mysql
為例.?dāng)?shù)據(jù)庫(kù)名稱:
test
用戶名
:root
密碼為空)
-
在
JBoss
目錄\
docs\examples\jca
下提供了各種數(shù)據(jù)庫(kù)的備置文件格式.該目錄下找到
mysql-ds.xml
文件.
-
把
mysql-ds.xml
拷貝到
JBoss
目錄\
server\default\deploy
下
-
打開(kāi)
mysql-ds.xml
文件.修改如下
1
<
local-tx-datasource
>
2
????
<
jndi-name
>
TestDS
</
jndi-name
>
3
????
<
connection-url
>
jdbc:mysql://localhost:3306/test?useUnicode=true
&
characterEncoding=UTF-8
</
connection-url
>
4
????
<
driver-class
>
com.mysql.jdbc.Driver
</
driver-class
>
5
????
<
user-name
>
root
</
user-name
>
6
????
<
password
></
password
>
7
??
</
local-tx-datasource
>
-
保存.
-
在java程序中得到數(shù)據(jù)源.代碼如下:
?
??
??