1. 程式人生 > >Wildfly(JBoss As )資料來源的配置方式

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複製到該目錄下。之後的結構如下: 在這裡插入圖片描述

2)在module.xml中編輯如下內容:

<?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]

歡迎進行技術交流,如有轉載請註明出處。