1、环境
windows10、Wildfly26.1.3、JDK8.0、mysql8.0
2、配置方式
配置Wildfly的JDBC驱动一般有两种方式
1️⃣、以module的方式安装;
2️⃣、以应用deploy的程序包方式安装;
以module方式安装,是把驱动置于应用服务器中;以deploy方式安装,则需要服务器有对应的程序包部署。对于domain模式,建议采用module方式安装,其可以没有server的存在。下面也具体说一下module方式的安装:
1️⃣、下载好mysql的JDBC驱动;
2️⃣、进入Wildfly目录$WILDFLY_HOME/modules/system/layers/base/com目录,创建目录mysql/main;
3️⃣、将mysql驱动copy到第二步对应的末级目录中$WILDFLY_HOME/modules/system/layers/base/com/mysql/main;
4️⃣、在3步对应的目录创建module.xml文件【可参考com下,其他数据库对应的module.xml文件】;
本例格式为:
<module name="com.mysql" xmlns="urn:jboss:module:1.9">
<resources>
<resource-root path="mysql-connector-java-8.0.29.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
说明:module的name值为对应的相对路径信息。resource-root的path为对应的jar全名。
5️⃣、修改standalone.xml文件
在datasource标签添加刚才配置
<subsystem xmlns="urn:jboss:domain:datasources:7.0">
<datasources>
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true" statistics-enabled="${wildfly.datasources.statistics-enabled:${wildfly.statistics-enabled:false}}">
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
</drivers>
<driver name="mysql" module="com.mysql">
<driver-class>com.mysql.cj.jdbc.Driver</driver-class>
<xa-datasource-class>com.mysql.cj.jdbc.MysqlXADataSource</xa-datasource-class>
</driver>
</datasources>
</subsystem>
6️⃣、运行Wildfly;
正确安装后,输出
提示:Deploying non-JDBC-compliant driver class com.mysql.cj.jdbc.Driver (version 8.0),可以忽略,这是mysql驱动的一直存在的问题。
要完全符合JDBC,驱动程序必须具有符合SQL92标准入门级的SQL支持,但MySQL不支持所需的功能。
进入Wildfly管理后台,可以发现在JDBC驱动中已经添加对应的驱动信息