Wildfly(JBoss As )資料來源的配置方式
支援兩種資料來源配置方式: 1、modules方式(推薦); 2、deploy方式; Wildfly啟動後,使用management登入可以看到說明;本機開發的預設登入地址一般為: http://localhost:9990/console/index.html(當然按照說明首次需要使用add-user.bat(sh)建立manage賬號) 這裡進行mysql8連線配置為例,其他資料庫雷同。 先從mysql.com下載與資料庫匹配jdbc驅動,本例我下載的mysql-connector-java-8.0.13.jar。 1、modules方式 1)在wildfly下的modules\system\layers\base\com路徑下建立mysql目錄之後建立main目錄,之後在目錄下建立一個module.xml檔案,並把mysql-connector-java-8.0.13.jar複製到該目錄下。之後的結構如下:
<?xml version="1.0" encoding="UTF-8"?> <module name="com.mysql" xmlns="urn:jboss:module:1.5">//xmlns的預設名稱空間以參考伺服器其他模組 <resources> <resource-root path="mysql-connector-java-8.0.13.jar"/>//jdbc驅動jar </resources> <dependencies>//驅動實現的規範。 <module name="javax.api"/> <module name="javax.transaction.api"/> <module name="javax.servlet.api" optional="true"/> </dependencies> </module>
3)註冊driver,根據使用伺服器配置檔案進行driver的註冊。本例中使用的standalone\configuration\standalone-full.xml 在該檔案進行改動的內容如下:
<subsystem xmlns="urn:jboss:domain:datasources:5.0"> <datasources> //資料來源定義: <datasource jndi-name="java:/MySqlDS2" pool-name="MySqlDS2" enabled="true"> <connection-url>jdbc:mysql://localhost:3306/eedata</connection-url> <driver-class>com.mysql.cj.jdbc.Driver</driver-class> <driver>mysql8</driver> <security> <user-name>pls</user-name> <password>123456</password> </security> </datasource> <drivers> <driver name="mysql8" module="com.mysql"/> </drivers> </datasources>
在drivers節點下定義註冊一個驅動,主要的部分是為驅動定義一個抽象的名字本例是mysql8,以及使用步驟2中的模組。 資料來源節點可以通過web console、jboss-cli.bat(sh)、直接編輯xml定義,但最終還是儲存到xml中的。之後可以看到我們定義的MysqlDS2如下:
之後可以根據使用運維情況進行資料來源相關屬性進行調整:
4)根據第3部定義 jndi-name="java:/MySqlDS2"進行根據情況使用。本人使用jpa進行資料庫的持久化如下使用:
<persistence-unit name="com.yjk_mavenproject1_war_1.0-SNAPSHOTPU" transaction-type="JTA">
<!-- <jta-data-source>java:app/ee</jta-data-source>-->
<jta-data-source>java:/MySqlDS2</jta-data-source>
<class>com.yjk.pojo.Userinfo</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
</properties>
</persistence-unit>
2、deploy方式 1)把mysql-connector-java-8.0.13.jar放入部署目錄中。 2)定義一個*-ds.xml檔案定義資料來源。 之後目錄如下: 本例我使用一個mysql_yujikuaneedata-ds.xml檔案定義資料來源,內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<datasource jndi-name="java:/MySqlDS3" pool-name="MySqlDS3" enabled="true">
<connection-url>jdbc:mysql://localhost:3306/eedata</connection-url>
<driver-class>com.mysql.cj.jdbc.Driver</driver-class>
<driver>mysql-connector-java-8.0.13.jar</driver>
<security>
<user-name>pls</user-name>
<password>123456</password>
</security>
</datasource>
</datasources>
本例我定義一個MysqlDS3的資料來源。 這裡driver使用是jar檔案,當然也可以modules部署方式中使用的driver邏輯名字。 在web console看到如下內容 作者:于吉寬 郵箱地址:[email protected]
歡迎進行技術交流,如有轉載請註明出處。