终于配置好,内牛满面啊。
首先感谢咿呀网 的狼哥 本文部分配置是采用咿呀网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+注解方式"是一个经典的Java后端技术栈,它整合了四个关键组件,为开发人员提供了强大的工具和框架支持。下面将详细讲解这四个组件及其整合方式。 1. **Spring Framework**: ...
基于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+...
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习...基于SpringMVC+Spring+MyBatis+Maven项目案例源
本项目以“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)+...
基于SSM(springmvc+spring+mybatis)+Mysql图书管理系统源码.zip 基于SSM(springmvc+spring+mybatis)+Mysql图书管理系统源码.zip 基于SSM(springmvc+spring+mybatis)+Mysql图书管理系统源码.zip 基于SSM...
基于SpringMVC+Spring+MyBatis个人技术博客系统源码.zip 完整代码,可运行 项目描述 基于SSM实现的一个个人博客系统,适合初学SSM和个人博客制作的同学学习。有了这个源码,直接买了阿里云或腾讯服务器,就可以部署...
MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 在SSM框架中,Spring MVC负责处理HTTP请求,将请求转发给Spring管理的...
标题 "Springmvc+dubbo+mybatis+mysql+redis" 描述了一个基于Java技术栈的分布式微服务架构。在这个系统中,SpringMVC作为前端控制器处理HTTP请求,Dubbo用于服务治理,MyBatis是持久层框架,MySQL是关系型数据库,...
一、准备工作 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单点登陆等功能,完善的代码生成器 后期还...
基于SpringMVC+Spring+MyBatis的博客网站系统源码+数据库+使用说明(毕业设计)基于SpringMVC+Spring+MyBatis的博客网站系统源码+数据库+使用...毕业设计)基于SpringMVC+Spring+MyBatis的博客网站系统源码+数据
基于 SpringBoot + Spring + SpringMvc + Mybatis + Shiro+ Redis 开发单点登录管理系统 基于 SpringBoot + Spring + SpringMvc + Mybatis + Shiro+ Redis 开发单点登录管理系统 基于 SpringBoot + Spring + ...
通过SpringMvc+Spring+Mybatis+Maven整合,学习用maven搭建框架
3. 配置Mybatis,包括数据源、SqlSessionFactory和Mapper接口。 4. 创建Service层,使用Spring的依赖注入获取DAO层对象,实现业务逻辑。 5. 编写Controller层,处理HTTP请求,调用Service层方法,返回响应结果。 ...