WildFly配置MySql驅(qū)動(dòng)

配置WildFly的JDBC驅(qū)動(dòng)一般有兩種方式

(1) 以module的形式安裝;
(2) 以deploy應(yīng)用程序包的形式安裝欲险;

不過對(duì)于WildFly以domain模式運(yùn)行而言捌朴,最好采用第一種module的方式倡鲸,因?yàn)橐詰?yīng)用程序包的形式安裝的話等龙,需要當(dāng)前的WildFly服務(wù)器有server存在甸箱,而domain的模式闽坡,可以沒有server存在(如作為domain controller存在)栽惶,因此建議domain形式的服務(wù)器以module的形式安裝愁溜。

1. 配置驅(qū)動(dòng)

環(huán)境及軟件包信息:

版本 環(huán)境
wildfly-10.1.0.Final CentOS7 64bit
mysql-connector-java-5.1.35.jar CentOS7 64bit

(1) module形式安裝

1、下載好mysql的JDBC驅(qū)動(dòng)外厂,比如版本mysql-connector-java-5.1.35.jar冕象;
2、進(jìn)入$WILDFLY_HOME/modules/system/layers/base/com目錄汁蝶,創(chuàng)建目錄mysql/main渐扮;
3、將mysql-connector-java-5.1.35.jar拷貝至$WILDFLY_HOME/modules/system/layers/base/com/mysql/main目錄下掖棉;
4墓律、在$WILDFLY_HOME/modules/system/layers/base/com/mysql/main目錄下新增文件module.xml
內(nèi)容如下:

<module xmlns="urn:jboss:module:1.3" name="com.mysql">
    <resources>
        <resource-root path="mysql-connector-java-5.1.35.jar"/>
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
    </dependencies>
</module>

請(qǐng)注意module:1.3的版本號(hào),不同版本的WildFly可能需要的版本號(hào)不一樣幔亥,這里WildFly10的版本號(hào)是1.3耻讽,如果不知道當(dāng)前的WildFly該配置什么版本號(hào),可以在$WILDFLY_HOME/modules/system/layers/base/com目錄下隨便找一個(gè)現(xiàn)有的module.xml文件帕棉,看一下xmlns="urn:jboss:module:x.x"就知道了齐饮,然后新增的MySql的module也按x.x版本號(hào)即可;
請(qǐng)保證resource-root這個(gè)值path的值跟你拷貝的驅(qū)動(dòng)的文件名一致;

啟動(dòng)或重啟WildFly,在在$WILDFLY_HOME/bin目錄下笤昨,運(yùn)行

[root@localhost bin]# ./jboss-cli.sh
You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.
[disconnected /] connect
[domain@localhost:9990 /] 

運(yùn)行下面的命令:

[domain@localhost:9990 /] /profile=full/subsystem=datasources/jdbc-driver=mysql:add(\
    driver-name=mysql,\
    driver-module-name=com.mysql,\
    driver-class-name=com.mysql.jdbc.Driver,\
    driver-xa-datasource-class-name=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource\
)

成功的話一般會(huì)提示:

{
    "outcome" => "success",
    "result" => undefined,
    "server-groups" => {
        "kie-server-group" => {"host" => {"master" => {"server-two" => {"response" => {"outcome" => "success"}}}}},
        "main-server-group" => {"host" => {"master" => {"server-one" => {"response" => {"outcome" => "success"}}}}}
    }
}

這里的/profile=full表示祖驱,你需要在domain模式下,在profile=full的配置里添加該datasources瞒窒,同樣捺僻,domain默認(rèn)的profile一共四種:default,ha,full,full-ha,通過該參數(shù)/profile=其中之一指定即可

對(duì)于standalone模式崇裁,命令為:

[standalone@localhost:9990 /] /subsystem=datasources/jdbc-driver=mysql:add(\
    driver-name=mysql,\
    driver-module-name=com.mysql,\
    driver-class-name=com.mysql.jdbc.Driver,\
    driver-xa-datasource-class-name=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource\
)

(2) 以deploy應(yīng)用程序包的形式安裝

mysql-connector-java-5.1.23-bin.jar按正常的jar部署到WildFly匕坯,deploy之后enable即可,mysql驅(qū)動(dòng)會(huì)被自動(dòng)檢測(cè)注冊(cè)拔稳,這個(gè)時(shí)候不需要CLI的命令額外配置葛峻。

注意,此操作建議在standalone模式下做

2. 配置DataSource

驅(qū)動(dòng)安裝完成之后巴比,可以添加對(duì)應(yīng)的MySql的DataSource术奖,也有2種形式,一種是通過web界面形式即http-interface添加轻绞,進(jìn)入http://ip:9990(使用WildFly的management用戶登錄)采记,另一種是登錄服務(wù)器使用native-interface CLI形式添加。
Configuration->選定Profile->Datasources政勃,點(diǎn)擊Add然后進(jìn)入向?qū)Ы缑媾渲?XA)datasource唧龄。

(1) web配置

具體如下:

pic1.png
pic2.png
pic3.png

(選擇好在上述配置好Mysql的驅(qū)動(dòng))


pic4.png

配置好對(duì)應(yīng)的數(shù)據(jù)庫實(shí)例和IP


pic5.png

數(shù)據(jù)庫用戶名和密碼


pic6.png
pic7.png

配置完成之后,可以測(cè)試連接


pic8.png

顯示連接成功奸远,標(biāo)明數(shù)據(jù)庫配置正確完成


pic9.png

如果測(cè)試連接失敗既棺,除了檢查基于web向?qū)У呐渲眯畔?zhǔn)確之外讽挟,也檢查一下Mysql是否支持遠(yuǎn)程連接,具體如下:

> mysql -u root -p
Enter password: *****
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 45
Server version: 5.0.96-community-nt MySQL Community Edition (GPL)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use mysql
Database changed
mysql> select user,password,host from user;
+-------+-------------------------------------------+----------------+
| user  | password                                  | host           |
+-------+-------------------------------------------+----------------+
| root  | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 | localhost      |
| sbe   | *4BC2133EA3FF7134B2ECC0DC1D3C1A69B4C3746E | localhost      |
+-------+-------------------------------------------+----------------+
2 rows in set (0.07 sec)

host列都是localhost丸冕,說明不支持遠(yuǎn)程連接耽梅,修改一下mysql的連接配置:

mysql> grant all privileges on *.* to root@"192.168.56.103" identified by "password";
Query OK, 0 rows affected (0.09 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.10 sec)

mysql>  select user,password,host from user;
+-------+-------------------------------------------+----------------+
| user  | password                                  | host           |
+-------+-------------------------------------------+----------------+
| root  | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 | localhost      |
| sbe   | *4BC2133EA3FF7134B2ECC0DC1D3C1A69B4C3746E | localhost      |
| root  | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | 192.168.56.103 |
+-------+-------------------------------------------+----------------+
3 rows in set (0.00 sec)

mysql>

可以看到剛剛新增需要遠(yuǎn)程連接的192.168.56.103 WildFly服務(wù)器了,表明配置成功晨仑,回到WildFly的web界面褐墅,重新測(cè)試連接。

(2) CLI配置

domain模式下命令:

[domain@localhost:9990 /] /profile=full/subsystem=datasources/data-source=MySqlDS:add(\
    jndi-name=java:/MySqlDS,\
    driver-name=mysql,\
    connection-url=jdbc:mysql://192.168.56.1:3306/brms,\
    user-name=root,\
    password=password\
)

standalone模式下命令:(實(shí)際上去掉/profile=full即可)

[standalone@localhost:9990 /] /subsystem=datasources/data-source=MySqlDS:add(\
    jndi-name=java:/MySqlDS,\
    driver-name=mysql,\
    connection-url=jdbc:mysql://192.168.56.1:3306/brms,\
    user-name=root,\
    password=password\
)

3. DataSource使用

一般可以通過使用JNDI name的方式:
如配置persistence

<persistence-unit name="my-app" transaction-type="JTA">
    <jta-data-source>java:/MySqlDS</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties/>
</persistence-unit>

注解的形式injection

public class MyClass {
    @Resource(name = "java:/MySqlDS")
    private javax.sql.DataSource dataSource;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末洪己,一起剝皮案震驚了整個(gè)濱河市妥凳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌答捕,老刑警劉巖逝钥,帶你破解...
    沈念sama閱讀 223,002評(píng)論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異拱镐,居然都是意外死亡艘款,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門沃琅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來哗咆,“玉大人,你說我怎么就攤上這事益眉∩渭恚” “怎么了?”我有些...
    開封第一講書人閱讀 169,787評(píng)論 0 365
  • 文/不壞的土叔 我叫張陵郭脂,是天一觀的道長(zhǎng)年碘。 經(jīng)常有香客問我,道長(zhǎng)展鸡,這世上最難降的妖魔是什么屿衅? 我笑而不...
    開封第一講書人閱讀 60,237評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮莹弊,結(jié)果婚禮上涤久,老公的妹妹穿的比我還像新娘。我一直安慰自己箱硕,他們只是感情好拴竹,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,237評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著剧罩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪座泳。 梳的紋絲不亂的頭發(fā)上惠昔,一...
    開封第一講書人閱讀 52,821評(píng)論 1 314
  • 那天幕与,我揣著相機(jī)與錄音,去河邊找鬼镇防。 笑死啦鸣,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的来氧。 我是一名探鬼主播诫给,決...
    沈念sama閱讀 41,236評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼啦扬!你這毒婦竟也來了中狂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,196評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤扑毡,失蹤者是張志新(化名)和其女友劉穎胃榕,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瞄摊,經(jīng)...
    沈念sama閱讀 46,716評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡勋又,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,794評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了换帜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片楔壤。...
    茶點(diǎn)故事閱讀 40,928評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖惯驼,靈堂內(nèi)的尸體忽然破棺而出蹲嚣,到底是詐尸還是另有隱情,我是刑警寧澤跳座,帶...
    沈念sama閱讀 36,583評(píng)論 5 351
  • 正文 年R本政府宣布端铛,位于F島的核電站,受9級(jí)特大地震影響疲眷,放射性物質(zhì)發(fā)生泄漏禾蚕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,264評(píng)論 3 336
  • 文/蒙蒙 一狂丝、第九天 我趴在偏房一處隱蔽的房頂上張望换淆。 院中可真熱鬧,春花似錦几颜、人聲如沸倍试。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽县习。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間躁愿,已是汗流浹背叛本。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留彤钟,地道東北人来候。 一個(gè)月前我還...
    沈念sama閱讀 49,378評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像逸雹,于是被迫代替她去往敵國(guó)和親营搅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,937評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容