RBa*_*444 5 java mysql sql jboss xa
我有一个我在wildfly-10.0.0中部署的Web应用程序.它需要一个mysql xa驱动程序.我有以下错误:
2015-10-13 12:25:37,979 ERROR [org.jboss.as.controller.management-operation](ServerService线程池 - 33)WFLYCTL0013:操作("添加")失败 - 地址:([("子系统") >"datasources"),("jdbc-driver"=>"com.mysql")]) - 失败描述:"WFLYJCA0041:无法加载驱动程序模块[com.mysql]"
modules目录如下:
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
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
我将驱动程序和数据源添加到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&useUnicode=true&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>
Run Code Online (Sandbox Code Playgroud)
您获得的错误意味着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>
Run Code Online (Sandbox Code Playgroud)
打开命令提示符并导航到WILDFLY_HOME\bin\并运行以下命令.
通过运行:连接到jboss cli jboss-cli.bat --connect.如果管理控制台在不同的端口上运行,例如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)
{"outcome" => "success"}如果成功,你应该得到答复.从那里,重新加载您的服务器,你应该摆脱该错误.
我从这个链接得到了指针
我不太确定问题是什么。该消息的信息不是很丰富。
也就是说,以下add-mysql.cli脚本对我有用。
module add --name=com.mysql --resources=~/Downloads/mysql-connector-java-5.1.37/mysql-connector-java-5.1.37-bin.jar --dependencies=javax.api,javax.transaction.api
batch
/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)
/subsystem=datasources/xa-data-source=mysql:add(driver-name=com.mysql, jndi-name="java:/jdbc/MySQLXA", enabled=true)
/subsystem=datasources/xa-data-source=mysql/xa-datasource-properties=URL:add(value="jdbc:mysql://localhost:3306/temp?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8")
run-batch
Run Code Online (Sandbox Code Playgroud)
我没有编写数据源配置中定义的所有属性,但这确实有效。
| 归档时间: |
|
| 查看次数: |
8890 次 |
| 最近记录: |