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

2024-02-22

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

2015-10-13 12:25:37,979 错误 [org.jboss.as.controller.management-operation](ServerService 线程池 - 33)WFLYCTL0013:操作(“添加”)失败 - 地址:([ (“子系统”=>“数据源”), (“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 的数据源部分:

<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>

您收到的错误意味着 Wildfly 需要一个名为com.mysql但它不存在或未以该名称注册。

您缺少一个步骤,即注册数据源 jdbc 驱动程序。第一步当然是添加mysql-connector-java-5.1.35-bin.jar文件和module.xml文件输入WILDFLY_HOME\modules\system\layers\base\com\mysql\main.

要消除错误,请停止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\并运行以下命令。

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

  2. 然后使用以下命令注册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)

你应该得到回应{"outcome" => "success"}如果这成功了。 从那里,重新加载您的服务器,您应该会消除该错误。

我得到了指点这个链接 https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6/html/Administration_and_Configuration_Guide/Install_a_JDBC_Driver_as_a_Core_Module1.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Wildfly 10 启动时无法加载 MySQL XA 驱动程序 的相关文章

随机推荐