我无法在我的jboss 6.2 EAP中添加mysql jdbc驱动程序。我按照那里描述的每个步骤进行了跟踪:Install a JDBC Driver as a Core Module
但是每当我尝试在命令行中创建数据源时,jboss都会返回以下消息:
[standalone@localhost:9999 /] /subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,driver-xa-datasource-class-name=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource)
{
"outcome" => "failed",
"failure-description" => "JBAS014749: Operation handler failed: Service jboss.jdbc-driver.mysql is already registered",
"rolled-back" => true
}
当我尝试手动将数据源配置添加到我的standalone-full.xml文件时,我在启动时获得了相同的消息。
我将我的jar驱动程序放在EAP_HOME / modules / com / mysql / main /中,这是我的模块配置:
<?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.31.jar" />
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
我的开发环境:ubuntu 14.04,sun jdk 7或8。
谢谢
答案 0 :(得分:6)
问题是由MySQL JDBC驱动程序JAR中的META-INF/services/java.sql.Driver
中的2个条目引起的:
com.mysql.jdbc.Driver
com.mysql.fabric.jdbc.FabricMySQLDriver
JBoss EAP 6.2可能不会期望超过1个条目。我在an issue填写了问题说明。
尽管如此,您可以在CLI命令中为 driver-class-name
属性定义值,您应该得到预期的行为:
/subsystem=datasources/jdbc-driver=mysql:add( \
driver-name=mysql, \
driver-module-name=com.mysql, \
driver-xa-datasource-class-name=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource, \
driver-class-name=com.mysql.jdbc.Driver)
答案 1 :(得分:5)
<subsystem xmlns="urn:jboss:domain:datasources:1.1">
<datasources>
<!-- snip -->
<drivers>
<driver name="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>
</datasources>
</subsystem>
确保在执行此操作时服务器已停止,否则更改将消失..
答案 2 :(得分:0)
我遇到了同样的问题并使用旧版驱动程序解决了:mysql-connector-java-5.1.27-bin.jar
org.jboss.msc.service.DuplicateServiceException:服务jboss.jdbc-driver.mysql已注册 - &gt; https://access.redhat.com/site/solutions/878573
答案 3 :(得分:0)
我使用mysql-connector-java-5.1.33.jar遇到了同样的问题,并使用旧版本解决了它:mysql-connector-java-5.1.29.jar。 服务器现在正常启动