终于配置好,内牛满面啊。
首先感谢咿呀网 的狼哥 本文部分配置是采用咿呀网cms606配置而来
www.yy606.com (咿呀网)
www.mn606.com (全新改版)
最近项目使用到了多个多种数据库,所以专门配置了一下jboss,然后使用springmvc3+mybatis 注解结合jta+xa-datasource 多数据源,支持分布式数据库
核心需求:实现service 可以作用于多个数据源
这种多数据源的应用,我使用了JTA, jta是分布式事务(我也不知道。。。),网上百度到的例子很多,很多,但是大多数是使用jotm 和atomikos。
jotm 和atomikos 都是为了让tomcat支持jta协议标准而发明的框架。
jotm是利用spring2的支持:org.springframework.transaction.jta.JotmFactoryBean 但是 这种方式已经在spring3里取消了,听说是有了更好的支持(本人英文太菜了,没找到)
atomikos 我也试了下,貌似oracle驱动有问题。也可能是我下载的版本太老,试了好久没成功。
最终采用了jboss7的xa数据源配置 + springmvc3+mybatis注解
首先我采用的jboss版本是jboss-as-7.1.0.Final (不知道是不是免费的)
jboss7版本 配置数据源使用了modules模块化的配置。
这种配置........百度ing 比我讲解的好
我直接说操作步骤了
这个是oracle的
在modules里建立这样的目录
我的路径: D:\jboss-as-7.1.0.Final\modules\com\oracle\ojdbc6\main
这个路径下,需要有2个文件 一个是驱动jar包,一个是需要新建的文件module.xml
ojdbc6.jar (这个驱动是11g里面的)
module.xml的内容如下:
<?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.0" name="com.oracle.ojdbc6"> <resources> <resource-root path="ojdbc6.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
注意:曾经找到过一篇博文,说是需要再建一个ojdbc6.jar.index 文件,其实这个是不需要的,这个index文件是jboss自己生成的,不要自己手动建立
这里已经为jboss添加了oracle驱动的模块
下面开始注册数据源
打开文件
我的是:D:\jboss-as-7.1.0.Final\standalone\configuration\standalone.xml
找到datasources节点
然后在里面加入下面节点
<xa-datasource jndi-name="java:/oracle119" pool-name="oracle119" enabled="true" use-java-context="false"> <xa-datasource-property name="URL"> jdbc:oracle:thin:@//192.168.10.119:1521/orcl </xa-datasource-property> <xa-datasource-property name="User"> yswsj </xa-datasource-property> <xa-datasource-property name="Password"> yswsj123 </xa-datasource-property> <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class> <driver>oracle</driver> <xa-pool> <is-same-rm-override>false</is-same-rm-override> <no-tx-separate-pools>true</no-tx-separate-pools> </xa-pool> </xa-datasource>
然后在下面的节点drivers 里面再加入一个driver节点,这个时候你会发现已经有一个driver了,我们要添加的是和这个同级别的节点
<driver name="oracle" module="com.oracle.ojdbc6"> <driver-class>oracle.jdbc.OracleDriver</driver-class> <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class> </driver>
千万不要放错了
在xa-datasource 节点里 有个属性是drive里面的值oracle
就是下面配置的driver的属性<driver name="oracle" ,module的值其实就是我们在modules里的路径
这个时候可以启动下jboss看看,只要驱动没放错位置,应该不会出问题。
下面开始配置mysql, 这个网站上的资料很多,不过也比较杂,幸运的是我从官网找到一个配置,经过测试,ok
下面上配置
首先,还是设置加入module模块
我的路径:
D:\jboss-as-7.1.0.Final\modules\com\mysql\main
里面要放入一个驱动包 mysql5.1 还要新建一个module.xml文件
mysql-connector-java-5.1.15-bin.jar
module.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.0" name="com.mysql"> <resources> <resource-root path="mysql-connector-java-5.1.15-bin.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
一样不需要建立index文件
再次打开文件
D:\jboss-as-7.1.0.Final\standalone\configuration\standalone.xml
添加xa-datasource节点和driver
standalone.xml内容:
<xa-datasource jndi-name="java:jboss/mysql127" pool-name="mysql127" enabled="true"> <xa-datasource-property name="ServerName"> 127.0.0.1 </xa-datasource-property> <xa-datasource-property name="DatabaseName"> demo1 </xa-datasource-property> <driver>mysql</driver> <security> <user-name>root</user-name> <password>root123</password> </security> <validation> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/> <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/> </validation> </xa-datasource>
driver的配置:
<driver name="mysql" module="com.mysql"> <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class> </driver>
启动jboss之后 后台会输入jboss的数据源加载情况,基本上不报错就ok了
14:57:23,668 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-2) JBAS010400: Bound data source [java:jboss/mysql127]
14:57:23,668 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-1) JBAS010400: Bound data source [java:/oracle119]
下一章继续 说springmvc+mybatis和jta的事务配置
相关推荐
SpringMvc Spring Mybatis Maven 注解方式
基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis...
SpringMVC+Spring+Mybatis集成开发环境SpringMVC+Spring+Mybatis集成开发环境SpringMVC+Spring+Mybatis集成开发环境SpringMVC+Spring+Mybatis集成开发环境SpringMVC+Spring+Mybatis集成开发环境SpringMVC+Spring+...
基于maven+springmvc+redis+mybatis整合案例框架,主要实现redis的读取案例
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习...基于SpringMVC+Spring+MyBatis+Maven项目案例源
SpringMVC+Redis+MyBatis项目,主要实现Redis注释缓存
完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统(RESTful API+redis).zip 完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统(RESTful API+redis).zip 完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统...
基于SSM(springmvc+spring+mybatis)+Mysql图书管理系统 基于SSM(springmvc+spring+mybatis)+Mysql图书管理系统 基于SSM(springmvc+spring+mybatis)+Mysql图书管理系统 基于SSM(springmvc+spring+mybatis)+...
比较实用的springMvc+spring+Mybatis 实战案例
基于SSM(springmvc+spring+mybatis)+Mysql图书管理系统源码.zip 基于SSM(springmvc+spring+mybatis)+Mysql图书管理系统源码.zip 基于SSM(springmvc+spring+mybatis)+Mysql图书管理系统源码.zip 基于SSM...
springmvc + spring + mybatis + maven整合配置文件
SpringMVC+Spring+Mybatis集成开发环境
一、准备工作 1、工具:jdk1.7.0_80(64)+tomcat7.0.68+myeclipse10.6+mysql-5.5.48-win32 2、 开发环境安装配置、Maven项目创建(参考:http://www.cnblogs.com/cac2020/p/5222658.html) 3、技术框架:Spring 4.1.4...
本后台管理系统,采用流行的框架springMvc+spring+mybatis+shiro+redis+ehcache开发,实现了权限管理(菜单权限、数据权限),solr全文搜索引擎,activiti工作流程引擎,cas单点登陆等功能,完善的代码生成器 后期还...
maven+springMVC+mybatis+velocity+mysql+junit项目框架搭建
自己整合的一套架构,省了找资源,后期会上个更完整的,带有系统功能的。
Spring+SpringMVC+Mybatis+Velocity+Maven整合
SpringMVC+Spring+mybatis+maven整合视频教程源码+视频地址.rar SpringMVC+Spring+mybatis+maven整合视频教程源码+视频地址