jboss eap mysql_jboss-eap-6.3集成OracleDS和MySqlDS配置

jboss-eap-6.3集成OracleDS和MySqlDS

Oracl:

在D:\tools\jboss\jboss-eap-6.3\modules\system\layers\base\com目录下新建oracle\main文件夹:

在此文件夹下添加ojdbc14-10.2.0.4.0.jar和module.xml,内容如下:

3. 修改D:\tools\jboss\jboss-eap-6.3\standalone\configuration\standalone.xml文件,添加如下代码:

jdbc:oracle:thin:@127.0.0.1:1521:ORCL

oracle

false

false

FailingConnectionOnly

scott

tigger

oracle.jdbc.driver.OracleDriver

com.mysql.jdbc.Driver

MySql:

在D:\tools\jboss\jboss-eap-6.3\modules\system\layers\base\com目录下新建mysql\main文件夹:

在此文件夹下添加mysql-connector-java-5.1.29.jar(注意:使用5.1.29以上的版本会报错,详见本文扩展部分)和module.xml,内容如下:

3.修改D:\tools\jboss\jboss-eap-6.3\standalone\configuration\standalone.xml文件,添加如下代码:

jdbc:mysql://127.0.0.1:3306/demo

mysql

root

root

com.mysql.jdbc.Driver

com.mysql.jdbc.jdbc2.optional.MysqlXADataSource

扩展:

集成mysql开始时使用了:mysql-connector-java-5.1.34.jar,启动时报错:

12:23:10,872 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 25) JBAS010404: 部署不兼容 JDBC 的驱动 class com.mysql.fabric.jdbc.FabricMySQLDriver (版本 5.1)

12:23:10,880 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 25) JBAS014612: 操作("add") 失败 -- 地址:([

("subsystem" => "datasources"),

("jdbc-driver" => "mysql")

]): org.jboss.msc.service.DuplicateServiceException: Service jboss.jdbc-driver.mysql is already registered

at org.jboss.msc.service.ServiceRegistrationImpl.setInstance(ServiceRegistrationImpl.java:158) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]

at org.jboss.msc.service.ServiceControllerImpl.startInstallation(ServiceControllerImpl.java:236) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]

at org.jboss.msc.service.ServiceContainerImpl.install(ServiceContainerImpl.java:742) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]

at org.jboss.msc.service.ServiceTargetImpl.install(ServiceTargetImpl.java:243) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]

at org.jboss.msc.service.ServiceControllerImpl$ChildServiceTarget.install(ServiceControllerImpl.java:2433) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]

at org.jboss.msc.service.ServiceBuilderImpl.install(ServiceBuilderImpl.java:345) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]

at org.jboss.as.controller.OperationContextImpl$ContextServiceBuilder.install(OperationContextImpl.java:1672) [jboss-as-controller-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]

at org.jboss.as.connector.subsystems.datasources.JdbcDriverAdd.startDriverServices(JdbcDriverAdd.java:160)

at org.jboss.as.connector.subsystems.datasources.JdbcDriverAdd.performRuntime(JdbcDriverAdd.java:118)

at org.jboss.as.controller.AbstractAddStepHandler$1.execute(AbstractAddStepHandler.java:75) [jboss-as-controller-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]

at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:611) [jboss-as-controller-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]

at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:489) [jboss-as-controller-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]

at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:290) [jboss-as-controller-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]

at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:285) [jboss-as-controller-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]

at org.jboss.as.controller.ParallelBootOperationStepHandler$ParallelBootTask.run(ParallelBootOperationStepHandler.java:354) [jboss-as-controller-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]

at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]

at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.1.Final-redhat-1.jar:2.1.1.Final-redhat-1]

分析错误原因,mysql驱动加载重复了,部署的JDBC 的驱动 class com.mysql.fabric.jdbc.FabricMySQLDriver正常,但紧接着又部署了一个mysql的数据源,连接mysql时驱动一般是com.mysql.jdbc.Driver,为什么现在是com.mysql.fabric.jdbc.FabricMySQLDriver呢.

换成mysql-connector-java-5.1.29.jar后就不报错了.比较了jar后得知从mysql-connector-java-5.1.30.jar开始jar中多出了fabric的驱动,在META-INF\services\java.sql.Driver文件中包含两行

com.mysql.jdbc.Driver

com.mysql.fabric.jdbc.FabricMySQLDriver

而5.1.29中只包含一行

com.mysql.jdbc.Driver.

那么,fabric究竟是什么呢,见下面的文章http://www.mysql.com/products/enterprise/fabric.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值