Wildfly(JBoss As )数据源的配置方式

时间:2024-04-13 22:35:04

支持两种数据源配置方式:
1、modules方式(推荐);
2、deploy方式;
Wildfly启动后,使用management登录可以看到说明;本机开发的默认登录地址一般为:
http://localhost:9990/console/index.html(当然按照说明首次需要使用add-user.bat(sh)创建manage账号)
Wildfly(JBoss As )数据源的配置方式
这里进行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复制到该目录下。之后的结构如下:
Wildfly(JBoss As )数据源的配置方式
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如下:
Wildfly(JBoss As )数据源的配置方式

之后可以根据使用运维情况进行数据源相关属性进行调整:
Wildfly(JBoss As )数据源的配置方式

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文件定义数据源。
之后目录如下:
Wildfly(JBoss As )数据源的配置方式
本例我使用一个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看到如下内容
Wildfly(JBoss As )数据源的配置方式
作者:于吉宽 邮箱地址:[email protected]

欢迎进行技术交流,如有转载请注明出处。

https://user.qzone.qq.com/329656576/infocenter