设为首页 加入收藏

TOP

基于Spring声明式事务的分布式事务管理
2015-11-10 13:46:10 来源: 作者: 【 】 浏览:11
Tags:基于 Spring 声明 事务 分布式 事务管理

开发传统应用遇到的最大问题就是多数据源的事务一致性问题, 下面介绍一种常用的分布式事务处理方式的使用


开发环境:Eclipse+Java1.7 + Tomcat7, 另外使用到的开源框架 Spring3.X


提到分布式事务大家首先想到的肯定是jta,我们用到的就是基于jta的一种实现atomikos,下面就介绍一下他的使用


1、依赖的jar


Maven依赖代码


? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ?
? ?com.atomikos
? ?transactions-jta
? ?${atomikos.version}
? ?true
?

?
? ?com.atomikos
? ?transactions-jdbc
? ?${atomikos.version}
? ?true
?

?
? ?javax.transaction
? ?jta
? ?${jta.version}
? ?true
?


?
? ?com.alibaba
? ?druid
? ?1.0.9
?


2、 配置数据源


数据源连接池,必须是支持XA标准的连接池,什么是XA标准呢?


Java代码



? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ?


?



? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ?


?


3、强数据源指定到AtomikosDataSourceBean中,再有该类的对象向DAO层提供数据源服务


配置如下


datasource1


?
? ? ?
? ? ? ?
? ? ?
? ? ?
? ? ? ? ? ?
? ? ? ? ? ? ? test?
? ? ? ? ? ? ? ? ? ? ? ? ? test?
? ? ? ? ? ? ? ? ? ? ? ? ? test?
? ? ? ? ? ? ? test?
? ? ? ? ? ? ? test?
? ? ?

? ?
?
?


dataSource2


?
? ? ?
? ? ? ?
? ? ?
? ? ?
? ? ? ? ? ?
? ? ? ? ? ? ? test?
? ? ? ? ? ? ? ? ? ? ? ? ? test?
? ? ? ? ? ? ? ? ? ? ? ? ? test?
? ? ? ? ? ? ? test?
? ? ? ? ? ? ? test?
? ? ?

? ?
?
?


3、将数据源托管到TranscationManager


? ? ? ? init-method="init" destroy-method="close">
? ? ? ? UserTransactionManager
? ? ? ?
? ? ? ? ? ? true
? ? ? ?



? ? ? ? JtaTransactionManager
? ? ? ?
? ? ? ? ? ?
? ? ? ?

? ? ? ?
? ? ? ? ? ?
? ? ? ?

? ? ? ?


4、定义切面



?
?
?
?
?
?
?



?
?
?
?
?


5、 jta.properties (路径跟log4j.properties一致就好)


这个文件不配置系统也能启动,因为有默认配置,个人建议配置一下。详细配置


com.atomikos.icatch.console_file_name = xam.out
com.atomikos.icatch.log_base_name = xamlog.log
com.atomikos.icatch.service = com.atomikos.icatch.standalone.UserTransactionServiceFactory


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Shell脚本语言与编译型语言的差异 下一篇Spring声明式事务管理

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: