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驱动中已经添加对应的驱动信息