当前位置: 首页 > 知识库问答 >
问题:

Wildfly 10启动时无法加载MySQL XA驱动程序

巢嘉志
2023-03-14

我在Wildfly-10.0.0中部署了一个web应用程序。它需要一个mysql xa驱动程序。我有以下错误:

2015-10-13 12:25:37,979错误[org.jboss.as.controller.management-Operation](ServerService线程池--33)WFlyCTL0013:Operation(“Add”)失败-地址:([(“subsystem”=>“Datasources”),(“jdbc-driver”=>“com.mysql”)])-失败描述:“WFlyJCA0041:未能加载驱动程序[com.mysql]的模块”

模块目录如下:

 Directory of C:\Users\rball\Documents\Dev\WildFly\wildfly-10.0.0.CR1\modules\sy
stem\layers\base\com\mysql\main

10/13/2015  11:32 AM    <DIR>          .
10/13/2015  11:32 AM    <DIR>          ..
10/13/2015  12:25 PM             1,575 module.xml
03/17/2015  05:21 AM           968,670 mysql-connector-java-5.1.35-bin.jar

module.xml文件为:

   <?xml version="1.0" encoding="UTF-8"?>    

<module xmlns="urn:jboss:module:1.1" name="com.mysql">  
  <resources>  
    <resource-root path="mysql-connector-java-5.1.35-bin.jar"/>  
  </resources>  
  <dependencies>  
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>      
  </dependencies>  
</module>  

我将驱动程序和数据源添加到standalone.xml的datasources部分:

<xa-datasource jndi-name="java:/jdbc/MyXaDS" pool-name="MyXaDSPool" enabled="true" use-ccm="false">
                <xa-datasource-property name="URL">
                    jdbc:mysql://localhost:3306/temp?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF-8
                </xa-datasource-property>
                <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
                <driver>com.mysql</driver>
                <xa-pool>
                    <min-pool-size>10</min-pool-size>
                    <max-pool-size>20</max-pool-size>
                    <is-same-rm-override>false</is-same-rm-override>
                    <interleaving>false</interleaving>
                    <pad-xid>false</pad-xid>
                    <wrap-xa-resource>false</wrap-xa-resource>
                </xa-pool>
                <security>
                    <user-name>root</user-name>
                    <password>password</password>
                </security>
                <validation>
                    <validate-on-match>false</validate-on-match>
                    <background-validation>false</background-validation>
                    <background-validation-millis>1000</background-validation-millis>
                </validation>
                <statement>
                    <prepared-statement-cache-size>0</prepared-statement-cache-size>
                    <share-prepared-statements>false</share-prepared-statements>
                </statement>
            </xa-datasource>
            <drivers>
                <driver name="com.mysql" module="com.mysql">
                    <driver-class>com.mysql.jdbc.Driver</driver-class>
                    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
                </driver>
            </drivers>

共有1个答案

郭洋
2023-03-14

您得到的错误意味着wildfly需要一个名为com.mysql的模块,但它并不存在,或者没有以该名称注册。

您缺少了一个步骤,即注册datasource jdbc驱动程序。第一步当然是在wildfly_home\module\system\layers\base\com\mysql\main中添加mysql-connector-java-5.1.35-bin.jar文件和module.xml文件。

要消除错误,请停止wildfly,删除standalone.xml中的驱动程序声明,删除这些行;我们将让/subsystem命令创建这个条目。

<driver name="com.mysql" module="com.mysql">
     <driver-class>com.mysql.jdbc.Driver</driver-class>
     <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>

打开命令提示符并导航到wildfly_home\bin\并运行以下命令。

>

  • 通过运行jboss-cli.bat--connect连接到jboss cli。如果管理控制台运行在不同的端口上,例如localhost:9991,请使用jboss-cli.bat--connect-controller=127.0.0.1:9991

    然后使用以下命令注册jdbc-driver

    /subsystem=datasources/jdbc-driver=com.mysql:add(driver-name=com.mysql,driver-module-name=com.mysql,driver-xa-datasource-class-name=com.mysql.jdbc.jdbc2.optional.mysqlxadatasource)

    如果成功,您应该得到响应{“output”=>“success”}。从那里,重新加载服务器,您应该消除该错误。

    我从这个链接得到了一些指示

  •  类似资料:
    • 我正在为WildFly创建一个web应用程序,它将通过JPA(Hibernate)连接到一个MySQL数据库。目前,我只是尝试让WildFly在独立模式下启动并加载MySQL驱动程序。我将此页面作为指南:http://wildfly.org/news/2014/02/06/glassfish-to-wildfly-migration/ Windows 7 Enterprise SP1 Oracle

    • 嘿,伙计们,还有一个问题,下面是信息

    • 我正在处理Spring Boot项目,突然遇到应用程序无法加载MySQL jdbc的问题。(我编译了一次这个项目,没有改变任何东西) 这是我的pom.xml: 这是我的application.properties: Logcat: MySQL数据库最初是使用hibernate创建的。这些配置工作正常,但我不确定这里的真正问题是什么 编辑:我删除了。m2文件夹并从一开始安装所有依赖项。

    • 问题内容: 我在春季配置了一个netezza db。我在类路径中添加了依赖的nzjdbc.jar 春季配置: 问题答案: 将放入您的本地Maven存储库 (在该目录执行这个位于 然后像正常依赖项一样使用它: @请参阅安装第三方JAR的指南

    • 我正在尝试将MySQL数据库连接到weblogic,以便我可以在我的项目中使用它,我对此很陌生,无论如何,我已经创建了一个数据源,我选择MySQL作为数据库类型 C:\Oracle\Middleware\wlserver\U 10.3\server\ext\jdbc\mysql 但它不起作用!

    • 这是hibernate.cfg.xml: 这是Hibernate实用程序文件: