JOTM分布式事务管理(多数据源)配置
项目接近尾声,老大让我们几个研究一些新技术,以便为将来项目的扩展做打算,我被分配到JOTM这一块。说实话,自己对分布式事务也不了解,至于JTA,只是了解概念。
至于什么是JOTM、JOTM有什么用,大家可以访问官网http://jotm.objectweb.org/index.html或者百度、google。趁着周末闲,于是搞了个DEMO。这个demo是用spring和jotm实现,数据库采用的oracle.本文只做简单的配置介绍,以及实现基本的同步回滚、提交效果。
首先,下载jar包,我的项目用的jar包如下:
基本上就是spring、JOTM以及oracle驱动jar包。
其次:引入carol.properties log4j.properties两个配置文件,这些文件可以再下载的JOTM的conf目录里找到。同时,新建一个spring的配置文件,用来初始化数据源之类的。
这是我的文件内容:
我配置了两个oracle的数据源。两个数据源都交给JOTM来管理。同时有两个service:Dao1ServiceImpl\Dao2ServiceImpl分别操作两个数据源的表。为这两个service添加事务
两个service实现如下:
把service1的add方法和service2的add方法在service1中调用service2的方法,同时让service1出现异常,这样在分布式事务的情况下会得到结果:两条数据都米有插入成功,同时回滚。
测试类:
记录下配置的步骤,给自己留个备份。
刚开始的时候是用MySQL进行测试的,一直不行。搜了很多,原来MySQL不支持事务管理,晕。
demo我已经上传到我的CSDN资源里面了,大家可以去下载(免下载积分)http://download.csdn.net/detail/wangyinbin/4246381。PS:CSDN下载专区,为啥刚刚上传的资源自己看不到咯?