支持两种数据源配置方式:
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]
欢迎进行技术交流,如有转载请注明出处。